Ich habe eine einfache ComboBox, die jedes Mal, wenn sich der ausgewählte Wert ändert, separate Befehle auslösen soll. Hier ist ein Beispiel für meine Markup:Befehle an ComboBoxItem in WPF binden
<WrapPanel Grid.Row="0" Visibility="{Binding ShowToggleViewFeedViewManual}">
<ComboBox Margin="3,3,0,0">
<ComboBoxItem IsEnabled="{Binding CanSelectViewFeedData}" >
<ComboBoxItem.CommandBindings>
<CommandBinding Command="SelectViewFeedDataCommand" />
</ComboBoxItem.CommandBindings>
<TextBlock Text="View Feed Data"/>
</ComboBoxItem>
<ComboBoxItem IsEnabled="{Binding CanSelectViewManualData}">
<ComboBoxItem.CommandBindings>
<CommandBinding Command="SelectManualFeedDataCommand" />
</ComboBoxItem.CommandBindings>
<TextBlock Text="View Manual Data"/>
</ComboBoxItem>
</ComboBox>
</WrapPanel>
Ich erhalte eine Fehlermeldung, „nicht‚SelectViewFeedDataCommand‘ konvertieren kann“. Ich bekomme einen ähnlichen Fehler für das andere ComboBoxItem. Der ICommand ist in der ViewModel-Klasse definiert, bei der es sich um die DataSource für das UserControl handelt, die als DataTemplate gebunden ist.
public ICommand SelectViewFeedDataCommand
{
get
{
// Code to perform
}
}
Ich habe dies ziemlich intensiv recherchiert, aber keine Antwort, wie man effektiv binden die ICommand an den ComboBoxItem gefunden.
Ich passe dies aus bestehenden Code, der eine Reihe von Radiobuttons und zugehörige Befehle verwendet, was ziemlich einfach gemacht wird. Gibt es keine einfache Möglichkeit, dies mit einer ComboBox zu tun?
Danke.
Was ist die 'ComboBox.SelectedItem' Eigenschaft, um etwas zu binden, dann in der' PropertyChanged' Veranstaltung Ihrer SelectedComboBoxItem Eigenschaft Ihre Befehlslogik zu tun? – Rachel