我的 RibbonMenuButton 有问题。目前我有:
<RibbonMenuButton Label="Meeting" Width="Auto" ToolTipDescription="Display requests on the agenda for the meeting selected" ToolTipTitle="Meeting"
LargeImageSource="pack://application:,,,/Resources/meeting.png"
ItemsSource="{Binding MeetingsAvailable}">
<RibbonMenuButton.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Value}"/>
</DataTemplate>
</RibbonMenuButton.ItemTemplate>
</RibbonMenuButton>
我的MeetingsAvailable实际上是Dictionary<int, string>
。此代码正在运行,RibbonMenuButton
很好地显示了每个 Value
字典的。
现在我正在尝试取回 Key
MenuItem
的已被点击。我的想法是使用 ICommand
在我的 ViewModel 中并将事件绑定(bind)到此命令。但我真的不知道如何获取与点击 RibbonMenuButton
中的某个项目对应的事件
有人已经这样做了吗?
提前谢谢您。
最佳答案
您可以使用 ItemContainerStyle
属性将 ICommand
数据绑定(bind)到 RibbonMenuButton
,如下所示:
<RibbonMenuButton Label="Meeting" ItemsSource="{Binding MeetingsAvailable}" ... >
<RibbonMenuButton.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Value}"/>
</DataTemplate>
</RibbonMenuButton.ItemTemplate>
<RibbonMenuButton.ItemContainerStyle>
<Style TargetType="{x:Type MenuItem}">
<Setter Property="Command" Value="{Binding DataContext.NameOfCommand,
RelativeSource={RelativeSource AncestorType={x:Type Views:View}}}" />
<Setter Property="CommandParameter" Value="{Binding Key}" />
</Style>
</RibbonMenuButton.ItemContainerStyle>
</RibbonMenuButton>
关于c# - RibbonMenuButton 绑定(bind)项目单击以执行命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24202376/