프로젝트 지불에 대한 데이터 바인딩이있는 목록 상자가 있습니다. 새 지불을 추가하면 지불이 목록에 추가됩니다. 추가 페이지는 지불을 편집하는데도 사용됩니다. 이 이벤트는 디버그 모드에서 변경된 지불 내역을 볼 수 있지만 ListBoxItem은 업데이트되지 않습니다. 목록 상자 항목을 업데이트하는 이벤트가 호출 될 추가 페이지의 끝에서 :ListboxItems에 대한 바인딩이 업데이트되지 않았습니다.
OnNotifyPropertyChanged("Project");
의 코드 :
GlobalNotifier.OnPaymentAdded();
을 OnPaymentAdded에만 속성 변경에 대한 통지 방법을 호출 목록 상자 :
<ListBox Name="ListPayments" ItemsSource="{Binding Project.Payments}">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Margin="10,5,10,0">
<StackPanel>
<TextBlock FontSize="30" Text="{Binding Name}" />
</StackPanel>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
새 항목이 추가되었지만 기존 항목이 업데이트되지 않는 이유는 무엇입니까? 어떤 생각?
지급금 유형이 ICollection입니다. 지불을 ObservableCollection으로 전환하면 문제가 해결되었습니다. 고맙습니다! –