我是WPF和C#编程的新手。 我有一个组合框,显示用户所属的状态以及下拉以根据需要更新状态。这非常有效。 问题是当我选择新用户时,前一个用户的旧数据仍显示在组合框中。如何确保组合框在用户更改时显示新数据。
答案 0 :(得分:0)
您可以参考以下博客文章,了解如何使用MVVM设计模式在WPF中实现级联ComboBoxes
:https://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 = "..." });
//...
}
}