[英]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.