创建复选框的自定义类绑定的组合框
问题描述:
这很简单,我已经得到了弦乐和BOOLS一个小容器类:创建复选框的自定义类绑定的组合框
public class Filter
{
public Filter(string field, bool chec = false)
{
Field = field;
Checked = chec;
}
public String Field { get; set; }
public bool Checked { get; set; }
}
而且我在另一个类的过滤器列表:
public class FilterBundle
{
public List<Filter> Fields { get; set; }
...
现在我创建一个FilterBundle(filterBundle1),并尝试将组合框绑定到其字段属性:
<ComboBox Grid.Column="1"
ItemsSource="{Binding filterBundle1.Fields}">
<ComboBox.ItemTemplate>
<DataTemplate>
<CheckBox Content="{Binding Field}"
IsChecked="{Binding Checked}"/>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
但是,下拉列表为空白且为空。在任何一个类的getter中,我需要做些什么来允许访问Field并检查filterBundle1的列表中的每个Filter?
答
尝试使用ObservableCollection
作为您的ItemSource
而不是List
。
public ObservableCollection<Filter> Fields { get; set; }
您可以在列表中很容易转化为一个:
Fields = new ObservableCollection<Filter>(MyFieldList);
一般来说,WPF取决于集合和性能,以实现INotifyCollectionChanged
INotifyPropertyChanged
分别以更新UI。
工作完美,非常感谢! – odkken
没问题。如果你找到你的答案,请注意并勾选标记。 :) – Khan