Ich mag die Combo mit Daten-Set binden und den Wert von Combo als Parameter nehmen eine andere Combo in WPF zu füllenWie Kombinationsfeld mit Daten-Set in WPF binden
3
A
Antwort
4
Dies sollten Sie den Einstieg. Das Ereignis Window_Loaded
richtet eine DataTable mit ein paar Zeilen ein und setzt die Werte DataContext
und DisplayMemberPath
eines ComboBox
. Das Ereignis Countries_SelectionChanged
erfasst die SelectedItem
(falls vorhanden) und setzt die Cities.ItemsSource
-Eigenschaft zurück, die das Ergebnis eines Methodenaufrufs ist, der eine IEnumerable<string>
zurückgibt. Dieser Aufruf kann beliebig sein (Datenbankaufruf, Dateioperation usw.). Hoffe das hilft!
<UniformGrid Rows="2" Columns="2">
<Label Content="Countries" VerticalAlignment="Center"/>
<ComboBox Name="Countries" VerticalAlignment="Center" SelectionChanged="Countries_SelectionChanged" ItemsSource="{Binding}"/>
<Label Content="Cities" VerticalAlignment="Center"/>
<ComboBox Name="Cities" VerticalAlignment="Center"/>
</UniformGrid>
private void Window_Loaded(object sender, RoutedEventArgs e) {
DataTable dt = new DataTable();
dt.Columns.Add("Country", typeof(string));
DataRow firstRow = dt.NewRow();
DataRow secondRow = dt.NewRow();
firstRow["Country"] = "USA";
secondRow["Country"] = "Italy";
dt.Rows.Add(firstRow);
dt.Rows.Add(secondRow);
Countries.DisplayMemberPath = "Country";
Countries.DataContext = dt;
}
private void Countries_SelectionChanged(object sender, SelectionChangedEventArgs e) {
DataRowView dr = Countries.SelectedItem as DataRowView;
if (dr != null) {
Cities.ItemsSource = null;
Cities.ItemsSource = GetCities(dr["Country"].ToString());
}
}
private IEnumerable<string> GetCities(string country) {
if (country == "USA")
return new []{ "New York", "Chicago", "Los Angeles", "Dallas", "Denver" };
if (country == "Italy")
return new[] { "Rome", "Venice", "Florence", "Pompeii", "Naples" };
return new[] { "" };
}
Verwandte Themen
- 1. WPF-Kombinationsfeld seltsames Problem
- 2. WPF-Datenbindung: Wie binden Daten eine Enumeration an ein Kombinationsfeld mit XAML?
- 3. Wie in WPF mit anderen Typen binden?
- 4. Programmatische Auswahl in WPF löschen Kombinationsfeld
- 5. Initialisieren Sie ein WPF-Kombinationsfeld in XAML?
- 6. Wie erstelle ich ein Flat-Kombinationsfeld mit WPF?
- 7. WPF: Binden TreeView
- 8. Wie Kombinationsfeld in WMD
- 9. wpf binden an Indexer
- 10. So binden Sie ObservableCollection mit Datagrid WPF
- 11. WPF-Datenbindung: Wie binden Daten eine Sammlung?
- 12. WPF Wie binden zwei ineinander geschachtelten Benutzersteuerelemente
- 13. Disable Trennzeichen Auswahl in Daten gebunden Kombinationsfeld in WPF
- 14. WPF: Wie an eine geschachtelte Eigenschaft binden?
- 15. WPF müssen komplexen Typ binden
- 16. Image.Quelle an String in WPF binden?
- 17. Befehle an ComboBoxItem in WPF binden
- 18. Liste an eine ListBox in WPF binden
- 19. WPF Wie eine Enumeration mit Beschreibungen zu einer Combobox binden
- 20. Markup.IStyle.Connector.Connect Fehler beim Binden in WPF
- 21. Binden eines Bildes in WPF MVVM
- 22. Populate Kombinationsfeld mit Tabellenwerte
- 23. Die "WindowState" -Eigenschaft eines Fensters in WPF mit MVVM binden
- 24. Wie binden Sie BlackoutDates in WPF Toolkit Calendar-Steuerelement?
- 25. Kombinationsfeld Display eines Wertes
- 26. Wie kann ich ein WPF-Kombinationsfeld in XAML mit allen Elementen aus einer bestimmten Aufzählung füllen?
- 27. MDX-Abfrage im freigegebenen SSRS-Datenset mit falschem Datentyp
- 28. Rebind Access-Kombinationsfeld
- 29. WPF: Sammlung mit Sammlung zu einer ListBox mit Gruppen binden
- 30. Wie binden Sie ein ListBoxItem in WPF ordnungsgemäß?
Das ist nett. Was ist deine Frage? –
Zu vage. Wenn Sie möchten, dass sich die Leute Mühe geben, Antworten zu finden, müssen Sie sich mit der Frage beschäftigen. Brauche mehr Details; Ein Code-Ausschnitt würde auch nicht weh tun. – Charlie