Wpf 为什么不是';t ContextMenuService.位置设置是否有效?

Wpf 为什么不是';t ContextMenuService.位置设置是否有效?,wpf,contextmenu,placement,Wpf,Contextmenu,Placement,事实上,大多数ContextMenuService属性都不起作用。Placement、PlacementTarget甚至IsEnabled都对我毫无帮助。不过HasDropShadow很好用 下面是一个按钮的片段,其中的位置不起任何作用: <Button Height="30" Width="81" Content="A button"> <Button.ContextMenu>

事实上,大多数ContextMenuService属性都不起作用。Placement、PlacementTarget甚至IsEnabled都对我毫无帮助。不过HasDropShadow很好用

下面是一个按钮的片段,其中的位置不起任何作用:

            <Button Height="30" Width="81" Content="A button">
                <Button.ContextMenu>
                    <ContextMenu ContextMenuService.HasDropShadow="False"
                                 ContextMenuService.Placement="Bottom">
                        <MenuItem Header="Omp"/>
                        <MenuItem Header="Bam"/>
                    </ContextMenu>
                </Button.ContextMenu>
            </Button>

还有一张照片(在我点击的中央,而不是底部):

我第一次在TreeViewer上注意到这一点,但因为我在按钮和列表视图上尝试了它,所以得到了相同的结果

xaml非常简单,不可能是问题所在。可能是什么? 编辑:xaml是XP的问题所在


感谢阅读&我希望我们能解决这个问题:)

如果您想更改
上下文菜单的位置,请在FrameworkElement或FrameworkContentElement上设置
contextMenuersvice.Placement
属性,而不是在
上下文菜单上设置
属性

<Button Height="30" Width="81" Content="A button" 
                             ContextMenuService.Placement="Bottom">
            <Button.ContextMenu>
                <ContextMenu ContextMenuService.HasDropShadow="False">
                    <MenuItem Header="Omp"/>
                    <MenuItem Header="Bam"/>
                </ContextMenu>
            </Button.ContextMenu>
</Button>

这也是我的问题
ContextMenuService.IsEnabled
ContextMenuService.ShowOnDisabled
必须在父菜单上,而不是在ContextMenu上!