更新UI我有一個容器,比如一個列表框,組合框等,其ItemsSource屬性綁定到一個觀察集合在我的視圖模型。 當我嘗試添加/通過在我的虛擬機的一些方法從集合中刪除的項目不會在UI反映, 的UI實際上刷新的唯一方法是,如果我給你收集了新的值(即另一收集相關數據),這迫使他重新綁定整個藏品。WPF MVVM列表框/組合框的ItemsSource將不會從視圖模型
也許我缺少/不明白一些關於收集綁定的問題,如果任一方式有人有一個解決方案/很好的解釋/都將是巨大的。 這裏是從我查看樣本(在這種情況下,它是一個列表框)
<ListBox
Grid.Row="9"
Grid.Column="1"
Grid.ColumnSpan="3"
Width="200"
Height="200"
ItemsSource="{Binding PreSavedRecordingScheduleList,UpdateSourceTrigger=PropertyChanged}"
SelectedItem="{Binding SelectedPreSavedRecordingSchedule,UpdateSourceTrigger=PropertyChanged}"
DisplayMemberPath="Display"/>
這裏是我的ViewModel:
private ObservableCollection<ScheduledRecordingObject> m_PreSavedRecordingScheduleList;
PreSavedRecordingScheduleList = new ObservableCollection<ScheduledRecordingObject>();
public ObservableCollection<ScheduledRecordingObject> PreSavedRecordingScheduleList
{
get
{
return m_PreSavedRecordingScheduleList;
}
set
{
m_PreSavedRecordingScheduleList = value;
OnPropertyChanged("PreSavedRecordingScheduleList");
}
}
ScheduledRecordingObject也實現INotifyPropertyChanged。
顯示你的代碼的企圖到目前爲止 – Sheridan
只是爲了更好的理解 - 你的集合中的初始值在列表框中顯示? – blindmeis
是,顯示初始值。我可以例如在C'tor添加幾個項目,他們將是可見的用戶,但任何更改後我做(添加/刪除/清除等)沒有刷新UI – user1531186