C# RibbonMenuButton绑定项单击到命令

C# RibbonMenuButton绑定项单击到命令,c#,wpf,xaml,data-binding,ribbon-control,C#,Wpf,Xaml,Data Binding,Ribbon Control,我的RibbonMenuButton有问题。目前我有: <RibbonMenuButton Label="Meeting" Width="Auto" ToolTipDescription="Display requests on the agenda for the meeting selected" ToolTipTitle="Meeting" LargeImageSource="pack://application:

我的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>

我的会议可用实际上是一本
字典
。这段代码正在运行,
RibbonMenuButton
很好地显示了词汇表的每个

现在,我正试图取回已单击的
菜单项的
键。我的想法是在我的ViewModel中使用
ICommand
,并将事件绑定到此命令。但我真的不知道如何获得与单击
RibbonMenuButton

有人已经这么做了吗


提前感谢。

您必须在VM中创建一个命令,以便绑定到该命令。然后,必须将字典的键绑定到command参数,以便在commandfunction中使用它。可能您必须在DataTemplate中创建一个附加按钮。

您可以使用
ItemContainerStyle
属性将
ICommand
数据绑定到
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>


我不知道如何将“我点击了一个项目”绑定到ViewModel中的特定命令(我想拿回钥匙)。。。这是不可理解的英语。请编辑您的问题,以明确您正试图做什么以及您遇到了什么问题。是的,这更容易理解。。。非常感谢。我现在已经取消了我的投票。谢谢,对问题的第一个版本感到抱歉。真的没有必要道歉。。。只是如果我们不能理解你的问题,我们就无法回答。谢谢你,很好的解决方案