簡體   English   中英

WPF DataGridComboboxColumn沒有獲取屬性(來自數據庫的值)綁定到枚舉

[英]WPF DataGridComboboxColumn not getting property (value from Database) binding to enum

我在獲取要在DataGridComboBoxColumn中顯示的屬性時遇到問題。 但是,從此組合框中選擇一個值時,設置器將被更新,並且保存后數據庫將發生變化。 (所以基本上它的工作UI-> Model,但是我不認為Model-> UI ..)

基本上我有一個綁定到枚舉的DataGridComboBoxColumn。 這是我認為問題所在的XAML。

<DataGrid x:Name="dgProductItem" 
          ItemsSource="{Binding ProductVersion.ProductItems}"

<DataGridComboBoxColumn Header="Deployment Type" 
        SelectedItemBinding="{Binding DeploymentType, Mode=TwoWay}"
        SelectedValuePath="DeploymentType" Width="120">

這是DataGridComboBoxColumn的其余代碼

<DataGridComboBoxColumn.ElementStyle>
    <Style TargetType="ComboBox">
        <Setter Property="ItemsSource"
                Value="{Binding Source={StaticResource DeploymentTypeEnum}}"/>
        <Setter Property="HorizontalAlignment" Value="Center"></Setter>
    </Style>
</DataGridComboBoxColumn.ElementStyle>


<DataGridComboBoxColumn.EditingElementStyle>
    <Style TargetType="ComboBox">
        <Setter Property="ItemsSource"
                Value="{Binding Source={StaticResource DeploymentTypeEnum}}"/>
    </Style>
</DataGridComboBoxColumn.EditingElementStyle>

但是正如我所說,當用戶從組合框中選擇一個值時,設置器將被更新,因此我認為它不會太過分。

這是屬性代碼。

public DeploymentType DeploymentType
{
    get
    {
        return m_DeploymentType;
    }

    set
    {
        m_DeploymentType = value
        PropertyChanged("DeploymentType")
    }
}

任何幫助將是有用的。

謝謝

要獲取列表,您應該有一種從枚舉類型中提取的方法

XAML

在資源級別進行設置:

    <ObjectDataProvider x:Key="DeploymentTypeEnum" MethodName="GetValues"
                        ObjectType="{x:Type System:Enum}">
        <ObjectDataProvider.MethodParameters>
            <x:Type TypeName="local:DeploymentType"/>
        </ObjectDataProvider.MethodParameters>
    </ObjectDataProvider>

不要忘記在xaml中也添加正確的名稱空間

         xmlns:local="clr-namespace:ProjectNamespace"
         xmlns:System="clr-namespace:System;assembly=mscorlib"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM