为什么ContextMenuService.Placement根本不工作?

时间:2014-07-14 21:56:53

标签: wpf contextmenu placement

实际上大多数ContextMenuService属性都不起作用。 Placement,PlacementTarget甚至IsEnabled对我都没有任何作用。 HasDropShadow工作正常但是......

这是一个按钮的片段,其中Placement没有做任何事情:

            <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>

它的照片(在中心,我点击,而不是在底部):

fail

我首先在TreeViewEx上注意到这一点,但是因为我在Button和ListView上尝试了它,我得到了相同的结果。

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

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

1 个答案:

答案 0 :(得分:1)

如果您想更改ContextMenu的位置,请在ContextMenuService.Placement本身上的ContextMenu属性 >

<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>