Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在XAML中使用列表框时更新/刷新显示_C#_Wpf_Xaml_Listbox - Fatal编程技术网

C# 在XAML中使用列表框时更新/刷新显示

C# 在XAML中使用列表框时更新/刷新显示,c#,wpf,xaml,listbox,C#,Wpf,Xaml,Listbox,我是XAML和C#的新手。我有一个带有列表框的简单显示,它通过ArrayList中的元素填充。当我向列表中添加一个项目时,我希望列表框被更新,以便它也显示新的值 我该怎么做呢? 我看到有些人用过: listBox.InvalidateArrange(); listBox.UpdateLayout(); 但我不能让它为我工作 任何建议都将不胜感激 多亏了Ed Plunkett和Andy评论中的建议,我能够通过从ArrayList切换到ObservableCollection来解决我的问题 因

我是XAML和C#的新手。我有一个带有列表框的简单显示,它通过ArrayList中的元素填充。当我向列表中添加一个项目时,我希望列表框被更新,以便它也显示新的值

我该怎么做呢? 我看到有些人用过:

 listBox.InvalidateArrange();
 listBox.UpdateLayout();
但我不能让它为我工作


任何建议都将不胜感激

多亏了Ed Plunkett和Andy评论中的建议,我能够通过从
ArrayList
切换到
ObservableCollection
来解决我的问题


因此,每次添加新条目时,
列表框会立即更新。

多亏了Ed Plunkett和Andy在评论中的建议,我能够通过从
数组列表切换到
可观察集合来解决我的问题


因此,每次添加新条目时,
列表框会立即更新。

不要使用ArrayList(对于任何内容,尤其是对于此内容),请使用
ObservableCollection
。当您将项目添加到ObservableCollection时,列表框将自动添加它们,而无需您做进一步的工作。如果要修改集合中项目的属性并更新UI,则集合中的项目需要实现
INotifyPropertyChanged
。是的。看一看:谢谢@EdPlunkett和Andy的建议。切换到可观察的集合解决了我的问题。不要使用ArrayList(用于任何内容,但尤其不用于此内容),请使用
可观察的集合
。当您将项目添加到ObservableCollection时,列表框将自动添加它们,而无需您做进一步的工作。如果要修改集合中项目的属性并更新UI,则集合中的项目需要实现
INotifyPropertyChanged
。是的。看一看:谢谢@EdPlunkett和Andy的建议。切换到可观察的集合解决了我的问题。