2017-06-29 68 views
-2

我是WPF和C#編程的新手。 我有一個組合框,顯示哪個用戶屬於哪個狀態,如果需要的話,可以下拉更新狀態。這個工作非常完美。 問題是當我選擇一個新用戶時,來自上一位用戶的舊數據仍顯示在組合框中。如何確保組合框在用戶更改時顯示新數據。組合框在數據更改時加載新數據

+0

首先,如果你新的一些編程語言或技術閱讀手冊之前問Stack Overflow問題。對於C#和WPF,它是MSDN和Internet上的大量文章。至於你的問題,我相信你不會在用戶改變時觸發用作'ComboBox'' ItemsSource'的屬性的'PropertyChanged'事件。 – Maxim

回答

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 = "..." }); 
    //... 
    } 
} 
相關問題