我想向列表中添加一些字符串(通过按钮),并在ItemsSource中显示它,但是它不起作用。那就是我的代码:
XAML:
<ItemsControl ItemsSource="{Binding ListInfos, Mode=OneWay}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid>
<TextBox Text="{Binding Path=., Mode=OneWay}" />
...
视图模型:
private List<String> _listInfos = new List<String>();
public List<String> ListInfos
{
get { return _listInfos; }
set
{
_listInfos = value;
NotifyPropertyChanged("ListInfos");
}
}
public void AddStringButton()
{
ListInfos.Add("test");
}
AddStringButton方法可以工作,但是ListInfos的属性(集合)不会触发,并且GUI也不会显示字符串测试。
正如dkozl所说,您将需要使用ObservableCollection类,该类在列表内容更改时提供通知。List PropertyChanged事件将触发的唯一方法是将其设置为新的列表实例。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句