在我的主窗口中,我有一個存儲所有數據的類(稱爲「Measconsettings」)。這個類(「Measconsettings」)包含另一個類「DeviceDefinition」的ObservableCollection「DeviceDefinitionList」添加項目後組合框不刷新C#WPF
ObservableCollection<DeviceDefinition> DeviceDefinitionList
。
當我在我的MainWindow中按下按鈕時,會創建一個帶有datacontex = Measconsettings的新窗口。
在這個新窗口中有一個ItemsSource綁定到「Measconsettings.DeviceDefinitionList」的組合框。現在
<ComboBox Grid.Row="2" Grid.Column="2" Margin="2,0" Name="CboDeviceDefinitionList" ItemsSource="{Binding Path=DeviceDefinitionList}"/>
我的問題是,當加入一個項目的組合框不更新全自動。
我需要關閉新窗口並再次按下按鈕才能打開它,然後才顯示組合框中的項目。
我嘗試添加CboDeviceDefinitionList.Items.Refresh();
但只有當我將項目添加到的ObservableCollection那麼他們出現的時候了之後添加CboDeviceDefinitionList.ItemsSource = orgMeasConSettings.DeviceDefinitionList;
它不工作..
。
有關如何正確綁定到組合框的任何想法或提示? PS:我是WPF初學者
你需要實現 「INotifyPropertyChanged的」 您的ObservableCollection那麼它應該工作。 –
它正在更新,如果你使用CboDeviceDefinitionList.Items.Refresh();向集合中添加新項目後。 –
@FarhadJabiyev不,但在Measconsetting類上實現INotifyPropertyChanged後,它可以工作。 – Enrico