Ho un semplice ComboBox che voglio attivare comandi separati ogni volta che cambia il valore selezionato. Ecco un esempio del mio markup:Binding Comandi a ComboBoxItem in WPF
<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>
ottengo un errore "Impossibile convertire 'SelectViewFeedDataCommand'". Ottengo un errore simile anche per l'altro ComboBoxItem. ICommand è definito nella classe ViewModel che è il DataSource per UserControl, associato come DataTemplate.
public ICommand SelectViewFeedDataCommand
{
get
{
// Code to perform
}
}
Ho ricercato questo abbastanza ampiamente, ma non ho trovato una risposta per come associare efficacemente l'ICommand al ComboBoxItem.
Sto adattando questo codice esistente che utilizzava una serie di pulsanti di opzione e comandi associati, il che è fatto abbastanza facilmente. Non c'è un modo semplice per farlo con un ComboBox?
Grazie.
Che dire vincolante la proprietà 'ComboBox.SelectedItem' a qualcosa, poi facendo la logica di comando nel' evento PropertyChanged' della vostra proprietà SelectedComboBoxItem? – Rachel