当数据发生变化时,ComboBox会加载新数据

时间:2017-06-29 07:42:01

标签: wpf combobox

我是WPF和C#编程的新手。 我有一个组合框,显示用户所属的状态以及下拉以根据需要更新状态。这非常有效。 问题是当我选择新用户时,前一个用户的旧数据仍显示在组合框中。如何确保组合框在用户更改时显示新数据。

1 个答案:

答案 0 :(得分:0)

您可以参考以下博客文章,了解如何使用MVVM设计模式在WPF中实现级联ComboBoxeshttps://blog.magnusmontin.net/2013/06/17/cascading-comboboxes-in-wpf-using-mvvm/

<ComboBox ItemsSource="{Binding Users}"
          DisplayMemberPath="Name"
          SelectedItem="{Binding SelectedUser}" />

<ComboBox ItemsSource="{Binding States}"
          DisplayMemberPath="Name"
          SelectedItem="{Binding SelectedState}" />
public ObservableCollection<User> Users {
  get;
  private set;
}

public ObservableCollection<State> States {
  get;
  private set;
}

private User _selectedUser;
public User SelectedUser {
  get {
    return _selectedUser;
  }
  set {
    _selectedUser = value;
    States.Clear();
    //add the user's states to the States collection:
    States.Add(new State() { Name = "..." });
    //...
  }
}