0
我將DataGrid中的組合框綁定到枚舉值。我得到的ComboBox顯示正確的值,但我遇到的問題是,當我嘗試保存時,如果我使用ComboBox,則不會返回XML。如果我將ComboBox取出,然後保存工作正常,則返回XML並存儲記錄。組合框綁定到枚舉,同時保留enumType值
我假設這與事實沒有在我的ComboBox中設置Path屬性有關,但是,如果設置了Path屬性,那麼我的枚舉值不會顯示在組合框。
我的XAML:
<UserControl.Resources>
<ObjectDataProvider x:Key="dataFromEnum"
MethodName="GetValues"
ObjectType="{x:Type sys:Enum}">
<ObjectDataProvider.MethodParameters>
<x:TypeExtension Type="local:enumTypes" />
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
</UserControl.Resources>
<DataGrid Grid.Row="3"
Grid.Column="0"
ItemsSource="{Binding Path=StuffList, UpdateSourceTrigger=PropertyChanged}">
<DataGrid.Columns>
<DataGridTemplateColumn Header="Enum Stuff">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox ItemsSource="{Binding Source={StaticResource dataFromEnum}}"
SelectedValuePath="ID" />
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
<DataGridTemplateColumn.CellEditingTemplate>
<DataTemplate>
<ComboBox ItemsSource="{Binding Source={StaticResource dataFromEnum}}"
SelectedValuePath="ID" />
</DataTemplate>
</DataGridTemplateColumn.CellEditingTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
我的班級:
private enumTypes _enumType = new enumTypes();
public enumTypes enumType
{
get { return _ enumType; }
set
{
_ enumType = value;
NotifyPropertyChanged(p => enumType);
}
}
我在SQL表使用enumType價值,是需要發送/返回XML。但是因爲我沒有在任何地方綁定枚舉類型,所以我認爲這就是爲什麼不給XML的原因?
有關如何更改我的ComboBox綁定以顯示兩個Enum值並綁定enumType字段以便我的XML可以修復的任何想法?
有像這樣的問題,負載上SO了。看到這裏:http://stackoverflow.com/questions/2608300/databinding-an-enum-to-a-combobox-in-wpf-mvvm –
是的,有關於wpf枚舉的問題很多,但幾乎所有人都關心1)如何將一個ItemsSource屬性綁定到一個枚舉,以及2)如何將TheEnumsName轉換爲UI中的「Enum's Name」。你的問題非常令人困惑,因爲看起來你正在問這種類型的問題,但實際上你正在談論某種類型的XML(MySql enumType list?不知道,不要MySql)。我強烈建議你[編輯你的問題](http://stackoverflow.com/posts/6467749/edit)來闡明1)enckType是什麼以及它來自哪裏,2)它看起來像什麼。 – Will