我正在使用WPF應用程序,並且我正在合併使用必須對事件作出反應的動態內容的DataGrid。將枚舉綁定到DataGrid組合框視圖
我有以下視圖模型對包含DataGrid
public class HiddenFieldPanelViewModel
{
public List<HiddenFieldComponent> HiddenFieldList { get; set; }
public HiddenFieldComponent Component { get; set; }
public bool IsVisible { get; set; }
public enum FieldTypes{Constant,Variable}
public HiddenFieldPanelViewModel()
{
HiddenFieldList = new List<HiddenFieldComponent>();
IsVisible = false;
}
}
這種模式適用於本例中的唯一特性是指以下枚舉屬性查看
public enum FieldTypes {Constant,Variable}
我需要什麼在填充DataGrid時要做的是將枚舉類型綁定到DataGrid單元格中的下拉列表中,以下是DataGrid集合項目添加後的示例之一
例如,在上面的圖片中,我希望它具有來自FieldTypes枚舉的枚舉值 。
在我的XAML中,我指定了以下內容:
<DataGridTemplateColumn Header="Field Type" CanUserResize="False">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ComboBox Height="20" SelectedIndex="0" ItemsSource="{Binding Path=FieldTypes}">
<ComboBox.ItemTemplate>
<DataTemplate>
<Label Content="{Binding Path=Value}"></Label>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
其他列被正確綁定數據,但是這個人是不是。
我不確定是否有更好的方法來做到這一點。如果需要的話,我還從IValueConverter編寫了一個EnumConverter來處理字符串枚舉字符串轉換。
感謝
大!奇蹟般有效!!! – TheJediCowboy 2011-03-25 20:24:33
快速問題,有沒有辦法根據該DataGrid項目在組合框上設置選定的項目? – TheJediCowboy 2011-03-25 20:32:44
請參閱編輯更新的'ItemsSource'和'SelectedItem'。基本上,你只需將SelectedItem綁定到綁定DataGrid中的行的任何東西。該屬性需要是OfType FieldTypes。 – 2011-03-25 21:22:36