WPF功能区ApplicationMenu打开和关闭事件

时间:2016-04-19 08:16:46

标签: c# wpf ribbon

我正在使用WPF功能区应用程序菜单:

https://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=11877

https://msdn.microsoft.com/de-de/library/ff799534(v=vs.110).aspx

  • 如何以编程方式关闭“应用程序(文件)”菜单?

  • 如何检测用户是否打开了应用程序菜单?我没有找到适当的活动

1 个答案:

答案 0 :(得分:1)

您需要IsDropDownOpen属性和相关事件。 XAML(这适用于.NET 4.5+,但对于4.0,它几乎相同,不同之处在于名称空间前缀):

<StackPanel>
    <Ribbon>
        <Ribbon.ApplicationMenu>
            <RibbonApplicationMenu x:Name="Menu" DropDownOpened="RibbonApplicationMenu_DropDownOpened">
                <RibbonApplicationMenuItem Header="Foo"/>
                <RibbonApplicationMenuItem Header="Bar"/>
            </RibbonApplicationMenu>
        </Ribbon.ApplicationMenu>
    </Ribbon>
</StackPanel>

代码隐藏:

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
    }

    private void RibbonApplicationMenu_DropDownOpened(object sender, EventArgs e)
    {
        // user has opened menu
        Debug.WriteLine("Menu opened.");
        // let's close it from code
        Menu.IsDropDownOpen = false;
    }
}

此外,您可能想要禁用整个菜单。这可以使用IsEnabled属性完成。