gpt4 book ai didi

c# - mvvm - PropertyChanged 不更新带有列表修改的 GUI,但如果我分配一个新列表 - C# silverlight

转载 作者:行者123 更新时间:2023-11-30 19:03:28 26 4
gpt4 key购买 nike

我的 ViewModel 包含一个 List<string> SelectedActions和一种方法 AddSelectedAction(string addMe)
如果我有以下代码,则在调用该方法时 GUI 不会更新:

SelectedActions.Add(addMe);
OnPropertyChanged("SelectedActions");

但如果我使用它,它就会起作用:

SelectedActions.Add(addMe);
List<string> li = new List<string>();
foreach (string st in SelectedActions)
li.Add(st);
SelectedActions = li;
OnPropertyChanged("SelectedActions");

我有以下效用函数

protected void OnPropertyChanged(string propertyName)
{
this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}

以及实现INotifyPropertyChanged
请注意,如果删除 OnPropertyChanged,我发布的有效代码将不起作用。调用,所以我知道它至少在做一些事情

最佳答案

我建议更改您的 List<string>ObservableCollection<string> .这是存储需要在更新/更改时通知的集合的标准/推荐方式。

这将为您处理所有更改通知,您无需显式调用 OnPropertyChange()

关于c# - mvvm - PropertyChanged 不更新带有列表修改的 GUI,但如果我分配一个新列表 - C# silverlight,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4403558/

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