2017-06-29 3 views
-2

Ich bin neu in WPF und C# Programmierung. Ich habe eine Combo-Box, die zeigt, wo Staat, zu welchem ​​Benutzer gehört, zusammen mit Drop-Down, um den Zustand bei Bedarf zu aktualisieren.Dies funktioniert perfekt. Problem ist, wenn ich einen neuen Benutzer auswähle, werden die alten Daten des vorherigen Benutzers immer noch in der Combobox angezeigt. So stellen Sie sicher, dass die Combobox neue Daten anzeigt, wenn der Benutzer geändert wird.ComboBox lädt mit neuen Daten, wenn Daten geändert werden

+0

Vor allem, wenn Sie in irgendeiner Programmierung neu Sprache oder Technologie lesen Sie Handbücher, bevor Sie Fragen zu Stack Overflow stellen. Für C# und WPF ist es MSDN und viele Artikel im Internet. Was Ihr Problem anbetrifft, so glaube ich, dass Sie das Ereignis "PropertyChanged" nicht auslösen, wenn die Eigenschaft "ComboBox" 'ItemsSource' für den Benutzer geändert wurde. – Maxim

Antwort

0

Sie auf die folgenden Blog-Post für ein Beispiel, wie implementieren Cascading ComboBoxes in WPF mit dem MVVM-Entwurfsmuster beziehen könnten: 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 = "..." }); 
    //... 
    } 
} 
Verwandte Themen