WPF菜单显示在窗口的左侧

时间:2011-01-07 22:44:21

标签: wpf xaml menu

我在DockPanel中有一个简单的菜单。这是XAML:

<Window x:Class="WpfApplication1.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="350" Width="525">
<DockPanel>
    <Menu DockPanel.Dock="Top">
        <MenuItem Name="file" Header="_File">
            <MenuItem Name="exitMenuItem" Header="E_xit"/>
        </MenuItem>
    </Menu>
    <Grid>
    </Grid>
</DockPanel>

为什么菜单会像大多数应用程序一样向左下拉而不是窗口边框的右侧?

screenshot of Window

2 个答案:

答案 0 :(得分:7)

您似乎有一个平板电脑输入设备。按照此链接中的说明更改Tablet PC设置中的灵活性:

答案 1 :(得分:0)

最适合我的解决方法是:

        var ifLeft = SystemParameters.MenuDropAlignment;
        if (ifLeft)
        {
            // change to false
            var t = typeof(SystemParameters);
            var field = t.GetField("_menuDropAlignment", BindingFlags.NonPublic | BindingFlags.Static);
            field.SetValue(null, false);
            ifLeft = SystemParameters.MenuDropAlignment;
        }

信用: https://www.telerik.com/forums/popup-is-opening-to-outside-window-in-splitbutton