작동하지 않는 나는 DataContext
을 설정ItemsSource 바인딩하여 PropertyChanged
this.DataContext = new MainWindowViewModel();
을 그리고 나는 그것이 작동하고 MainWindowViewModel
의 생성자에 새로운 TabItem
를 추가 할 때 I는 TabControl
의 ItemsSource
을 결합하고있다! 그러나 이벤트 (클릭)에 새로운 TabItem
을 추가하면 아무 효과가 없습니다.
List<Item> _listOfItem;
public List<Item> ListOfItem
{
get
{
return _listOfItem;
}
set
{
_listOfItem = value;
PropertyChanged(this, new PropertyChangedEventArgs("ListOfItem"));
}
}
이 도와주세요 :
나는이 속성이 있습니다.
ObservableCollection에서 PropertyChanged를 발생시킬 필요가 없다는 것을 이해할 수 있습니다. 따라서 속성을 없애고 "ObservableCollection Public ObuchvableCollection- _listOfItem;"만 남겨 둘 수 있습니다. 주의해라. 이것은 삽입과 삭제 (update = delete와 insert)에 대해서만 작동 할 것이다. –
아니요, UI 요소를 알리기 위해 관찰 가능 컬렉션에 대한 참조가 변경되면 PropertyChanged 이벤트를 호출해야합니다. 그 점에서 다른 부동산 유형과 다르지 않습니다. – devdigital
보기가 활성화되어있는 동안 observablecollection의 참조가 변경되는 모든 소스 코드에서 단일보기가 없습니다. 업데이트를 지원하기 위해 OC에 저장된 클래스에만 INotifyPropertyChanged를 추가합니다. 그래서 나는 당신이 이것을하는 이유를 이해하지만 대부분의 시간 동안 당신은 부동산을 필요로하지 않을 것입니다. –