我正在尝试创建一个稍微复杂的菜单项,允许用户创建一个新类。我正在运行的问题是,当我点击数字上下(来自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>
当我单击整数上下文本字段时,菜单将关闭。
为什么会一直这样?我如何才能不发生?
答案 0 :(得分:1)
我找到了解决方案。这是一种非常糟糕的解决方法,但它的工作做得很好:
更改是您在MenuItem
内创建MenuItem
。然后,在子MenuItem
的{{1}}属性中定义您的控件,并将MenuItem.Header
的{{1}}属性设置为true。
MenuItem
答案 1 :(得分:-1)
您可以使用StaysOpenOnClick
属性来实现此目标