我希望这样的事情能奏效:
[ObservableProperty]
[NotifyPropertyChangedFor(nameof(Count))]
public ObservableCollection<TODO> todos = new();
public int Count => Todos.Count;
虽然Count
在ViewModel层进行了更新,但用户界面似乎并未更新.我还try 使用由MVVM社区工具包源代码生成器生成的OnTodosChanged
方法,但这不会被激发.请注意,我期望UI在调用Todos
的Add
、ETC方法时进行更新.
- 为什么
[NotifyPropertyChangedFor(nameof(Count))]
不更新Add
ing上的用户界面到Todos
集合?如果这不是做这件事的方法,那么什么才是呢? - 为什么
OnTodosChanged
没有在Todos
集合的元素的Add
定义上被调用? - 对于像
Todos[0].IsCompleted = true
这样的操作,用户界面会更新吗?若否,如何处理?
我决定在这里发布的原因是,我找不到任何相关的文档(这相当令人沮丧,因为我认为这可能是常见的操作),也没有任何教程视频/示例应用程序,这让我质疑这是不是正确的方法.感谢您的帮助!-谢谢:^)