【问题标题】:Changing Context Menu's width results in poor rendering更改上下文菜单的宽度会导致渲染效果不佳
【发布时间】:2010-11-14 03:46:48
【问题描述】:

我想要做的就是在Button 上有一个ContextMenu,其宽度限制为Button 的宽度。显然这太过分了。如果您打开ContextMenu,然后减小Button 的大小并再次打开它,一切正常(Width 变小)。如果增加 Width(例如从 100 到 200),ContextMenuWidth 也会增加(到 200),但它只会渲染之前的 Width(100)。我自己在代码中更改了Width,改用ActualWidth,但虽然值看起来不错,但上下文菜单的渲染效果很差。

【问题讨论】:

  • 尝试了我能想到的一切,甚至使用了 ScaleTransform 但没有任何效果。我认为这可能是一个没有人遇到过的错误,因为没有人改变他们的上下文菜单的大小。

标签: wpf .net-3.5 width contextmenu actualwidth


【解决方案1】:

上下文菜单的宽度似乎是由具有最长文本字段的上下文项的文本字段长度驱动的。

如果您将一堆空格附加到上下文项的文本字段之一,这会使该上下文项和整个上下文菜单更宽。

然后一切正常。

希望这会有所帮助。

【讨论】:

    【解决方案2】:

    不确定这是否适用,但您是否可以选择使用SnapToDevicePixels=True?我发现这在不使用时会对渲染产生巨大影响……但我不确定该选项在您的上下文菜单中是否可用。

    【讨论】:

    • 我有这个选项,但没有任何影响。我也尝试替换 ItemsPanelTemplate 但它仍然只呈现 ContextMenu 的一部分
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-03
    • 2013-01-19
    • 1970-01-01
    • 2020-12-22
    • 2020-01-04
    • 2014-12-10
    相关资源
    最近更新 更多