将Caliburn Micro与Microsoft Ribbon控件和RibbonApplicationMenu结合使用



我正在尝试使用Caliburn Micro和MVVM作为菜单。我当前正在使用位于System.Windows.controls.Fribbon中的Ribbon控件。使用x:Name绑定单击事件对于选项卡中的常规按钮可以正常工作,但RibbonApplicationMenu中的菜单项不起作用。这是一个错误吗?还是我必须在引导程序类中做一些额外的工作来确保CM找到RibbonApplicationMenuItems?我使用的是CM v2.0.1。

这里的一些例子:

XAML:

<Ribbon x:Name="Ribbon" >
    <Ribbon.ApplicationMenu>
        <RibbonApplicationMenu KeyTip="F">
            <RibbonApplicationMenuItem Header="{Binding NewText}" x:Name="AppNew" />
        </RibbonApplicationMenu>
    </Ribbon.ApplicationMenu>
    <RibbonTab Header="{Binding OverviewTabText}" >
        <RibbonGroup x:Name="MainGroupOverview" Header="{Binding MainGroupText}">
            <RibbonButton Label="{Binding NewText}" x:Name="AppNewOverview"  />
        </RibbonGroup>
    </RibbonTab>
</Ribbon>

在ViewModel类中:

public void AppNew()
{
    //this will not be called
    New();
}
public void AppNewOverview()
{
    //this works just fine
    New();
}

仍在深入研究这一点,但由于所赋予的名称似乎不起任何作用,实际上在我的一端模拟了一个样本。cm:Message.Attach="[Event Click]=[Action NewApp()]"有效。事实上很奇怪,你可能想去GitHub回购,并填写这是否真的是一个问题

相关内容

  • 没有找到相关文章

最新更新