Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wpf 如何防止菜单在单击超出其边界的位置时关闭_Wpf_Menu - Fatal编程技术网

Wpf 如何防止菜单在单击超出其边界的位置时关闭

Wpf 如何防止菜单在单击超出其边界的位置时关闭,wpf,menu,Wpf,Menu,当我打开菜单,然后单击窗口中的某个位置,菜单将关闭时,如何防止它关闭 这是我的XAML- <Grid> <Menu Height="40" VerticalAlignment="Top"> <Menu.Items> <MenuItem Header="file"> <MenuItem Header="Save"/> </Menu

当我打开菜单,然后单击窗口中的某个位置,菜单将关闭时,如何防止它关闭

这是我的XAML-

<Grid>
    <Menu Height="40" VerticalAlignment="Top">
        <Menu.Items>
            <MenuItem Header="file">
                <MenuItem Header="Save"/>
            </MenuItem>
        </Menu.Items>
    </Menu>
</Grid>

我相信您必须重新设置菜单控件的模板,使其弹出窗口具有StaysOpen=true。我不相信菜单公开了它的模板绑定到的任何属性,以便允许您在不需要重新模板的情况下控制它。或者,您可以拼凑一个解决方案,在可视化树中搜索弹出窗口并注入所需的属性值


但是,真的,我认为你应该考虑其他的解决方案。这与菜单的正常预期行为是一个相当激进的背离,这种激进的背离需要激进的推动力。

我怀疑大多数用户会喜欢这样…@H.B-告诉我的团队领导。但说真的,这是件好事,但我不能详细说明所有的原因。谢谢肯特,不幸的是,这对我不起作用。我已经从中复制了menuItem默认模板,并像您所说的那样设置StaysOpen=true。