我设置DataContext
:的ItemsSource绑定和不工作的PropertyChanged
this.DataContext = new MainWindowViewModel();
而且我绑定一个TabControl
的ItemsSource
,当我在MainWindowViewModel
它工作构造器添加一个新的TabItem
!但是,当我在事件(点击)中添加新的TabItem
时,不起作用。
我有这样的特性:
List<Item> _listOfItem;
public List<Item> ListOfItem
{
get
{
return _listOfItem;
}
set
{
_listOfItem = value;
PropertyChanged(this, new PropertyChangedEventArgs("ListOfItem"));
}
}
请帮助。
据我了解,您不需要在ObservableCollection上引发PropertyChanged。所以你可以摆脱财产,只留下“Public ObservableCollection- _listOfItem;”。请注意,这只适用于插入和删除(更新=删除,然后插入)。 –
2012-09-11 10:42:49
不,您将需要调用PropertyChanged事件,如果对可观察集合的引用更改以通知任何UI元素。这方面的任何其他房产类型都没有什么不同。 – devdigital 2012-09-11 12:11:25
我的所有源代码中没有单一视图,其中observablecollection的引用在视图处于活动状态时发生更改。我只将INotifyPropertyChanged添加到存储在OC中的类以支持更新。所以我明白你为什么这样做,但大多数时候你不需要财产。 – 2012-09-12 06:01:55