Wpf ComboBox或Mahapps dropdownbutton打开后不会更新

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

我已经创建了一个虚拟WPF应用程序,其中有一个来自Mahapps的下拉按钮,名为ddbTest,还有一个按钮,名为btnAddExtra

更新:使用组合框而不是下拉按钮时也会出现同样的问题

这就是背后的代码:

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设置为菜单项的项。问题是这个下拉按钮下有子贴图。我可以对此进行一次可观察的收集,但这样就看不到更深层次的变化。