gpt4 book ai didi

c# - 为计算属性实现 INotfyPropertyChanged

转载 作者:太空宇宙 更新时间:2023-11-03 21:57:16 24 4
gpt4 key购买 nike

我对 MVVM 有点陌生,想知道

假设我定义了一个 ObservableCollection<Differences> Diffs属性(property)。我还有以下属性:

public bool IsSame
{
get
{
return Diffs.Count == 0;
}
}

我不明白我应该如何实现 OnPropertyChanged对于 IsSame ,因为它隐含在 Diff 列表中。

  • 我应该附加到 list 上吗 OnCollectionChanged事件然后检查它是否改变IsSame
  • 我是否应该使用支持字段来处理列表 OnCollectionChanged

非常感谢。

最佳答案

Should I use a backing field anyway and handle the List OnCollectionChanged?

要正确地做到这一点:是的。

当相关属性发生变化时,将由源来引发所有事件。这里的主要问题是检测 IsSame 何时实际更改(即从 1 变为 0 或从 0 变为 1)。您需要一个支持字段,否则您将(多次)更频繁地引发事件。

关于c# - 为计算属性实现 INotfyPropertyChanged,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11734757/

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