如何保持菜单子菜单项打开?

时间:2016-11-20 21:33:44

标签: c# wpf xaml menuitem xceed

我正在尝试创建一个稍微复杂的菜单项,允许用户创建一个新类。我正在运行的问题是,当我点击数字上下(来自xceed工具包)菜单项关闭时,即使属性StaysOpenOnClick设置为true。

用户不会喜欢这样。

要重现,创建一个WPF项目并通过NuGet添加Extended WPF Toolkit,然后将以下代码放入mainwindow类:

<Window
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:local="clr-namespace:WhyDoesMyMenuItemCloseWhenClicked"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
    mc:Ignorable="d"
    x:Class="WhyDoesMyMenuItemCloseWhenClicked.MainWindow"
    Title="MainWindow" Height="350" Width="525">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="21"/>
            <RowDefinition />
        </Grid.RowDefinitions>
        <Menu FontWeight="Bold">
            <MenuItem Header="_File">
                <MenuItem StaysOpenOnClick="True">
                    <Grid Height="50" Width="50">
                        <xctk:IntegerUpDown/>
                    </Grid>
                </MenuItem>
            </MenuItem>
        </Menu>
    </Grid>
</Window> 

当我单击整数上下文本字段时,菜单将关闭。

为什么会一直这样?我如何才能发生?

2 个答案:

答案 0 :(得分:1)

我找到了解决方案。这是一种非常糟糕的解决方法,但它的工作做得很好:

更改是您在MenuItem内创建MenuItem。然后,在子MenuItem的{​​{1}}属性中定义您的控件,并将MenuItem.Header的{​​{1}}属性设置为true。

MenuItem

答案 1 :(得分:-1)

您可以使用StaysOpenOnClick属性来实现此目标