我有一个简单的 ComboBox,我想在每次所选值更改时触发单独的命令。这是我的标记示例:
<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>
我收到一条错误消息,指出“无法转换 'SelectViewFeedDataCommand' ”。我也收到其他 ComboBoxItem 的类似错误。ICommand 在 ViewModel 类中定义,该类是 UserControl 的 DataSource,绑定为 DataTemplate。
public ICommand SelectViewFeedDataCommand
{
get
{
// Code to perform
}
}
我对此进行了广泛的研究,但没有找到如何有效地将 ICommand 绑定到 ComboBoxItem 的答案。
我正在从使用一组单选按钮和相关命令的现有代码中调整它,这很容易完成。有没有简单的方法可以用 ComboBox 做到这一点?
谢谢。