gpt4 book ai didi

c# - Observable 集合项属性已更改

转载 作者:行者123 更新时间:2023-12-03 10:24:04 24 4
gpt4 key购买 nike

我有一个列类,它使用 View 模型库来实现 INotifyPropertyChanged (我知道懒惰):

public class Column : ViewModelBase
{
public string ColumnName { get; set; }
public bool Anonymize { get; set; }
}

然后是列列表:
public class Columns : ObservableCollection<Column>
{
}

在我的 View 模型中,我有一个属性列,我将它绑定(bind)到一个带有复选框和文本 block 的组合框:
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 属性时,如何使 View 模型中的 Columns 属性更改以反射(reflect)这一点?

最佳答案

您的 Column类需要实现INotifyPropertyChanged (你说它确实如此)。您还需要在 Anonymize 的值时引发该事件。改变(你没有)。

关于c# - Observable 集合项属性已更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11794498/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com