我有一个使用视图模型库来实现的列类INotifyPropertyChanged
(我知道懒惰):
public class Column : ViewModelBase
{
public string ColumnName { get; set; }
public bool Anonymize { get; set; }
}
然后是列列表:
public class Columns : ObservableCollection<Column>
{
}
在我的视图模型中,我有一个属性列,我将它绑定到一个带有复选框和文本块的组合框:
private Columns _tableColumns;
public Columns TableColumns
{
get
{
return _tableColumns;
}
set
{
_tableColumns = value;
OnPropertyChanged("TableColumns");
}
}
<ComboBox Name="cbColumns" ItemsSource="{Binding TableColumns}">
<ComboBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<CheckBox IsChecked="{Binding Anonymize, Mode=TwoWay}" />
<TextBlock Text="{Binding ColumnName}"/>
</StackPanel>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
当我通过项目上的复选框更改 Anonymize 属性时,如何使视图模型中的 Columns 属性更改以反映这一点?