Wpf ComboBox或Mahapps dropdownbutton打开后不会更新
我已经创建了一个虚拟WPF应用程序,其中有一个来自Mahapps的下拉按钮,名为ddbTest,还有一个按钮,名为btnAddExtra 更新:使用组合框而不是下拉按钮时也会出现同样的问题 这就是背后的代码:Wpf ComboBox或Mahapps dropdownbutton打开后不会更新,wpf,combobox,itemssource,mahapps.metro,Wpf,Combobox,Itemssource,Mahapps.metro,我已经创建了一个虚拟WPF应用程序,其中有一个来自Mahapps的下拉按钮,名为ddbTest,还有一个按钮,名为btnAddExtra 更新:使用组合框而不是下拉按钮时也会出现同样的问题 这就是背后的代码: public List<string> MyItems; public MainWindow() { InitializeComponent(); } private void Window_Loaded(object sender, RoutedEventArgs
public List<string> MyItems;
public MainWindow()
{
InitializeComponent();
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
MyItems = new List<String>();
for (int i = 0; i < 50; i++)
{
MyItems.Add("Value" + i.ToString());
}
ddbTest.ItemsSource = MyItems;
}
private void btnAddExtra_Click(object sender, RoutedEventArgs e)
{
MyItems.Add("Value 50" );
ddbTest.ItemsSource = MyItems;
}
如果我先按下按钮,然后打开下拉按钮,则添加“值50”
重新启动项目
如果我先打开和关闭下拉按钮,然后按下按钮,再打开下拉按钮。现在“值50”不存在
有没有办法解决这个问题?您将ItemsSource设置为具有额外项的同一集合,这样值就不会更改。使用ObservableCollection代替List,后者实现INotifyCollectionChanged,这样您就不需要更新项目了,只需将项目添加/删除到集合中,即可实现此虚拟项目。在我正在处理的实际项目中,我将itemsSource设置为菜单项的项。问题是这个下拉按钮下有子贴图。我可以对此进行一次可观察的收集,但这样就看不到更深层次的变化。