Все, что я хотел сделать, это иметь ContextMenu
на Button
с шириной, ограниченной шириной Button
. Видимо, это слишком много. Если вы откроете ContextMenu
, а затем уменьшите размер Button
и откройте его снова, все будет в порядке (уменьшится Width
). Если вы увеличиваете Width
(например, от 100 до 200), то Width
тоже увеличивается (до 200), но только отображает предыдущие Width
(100). Я сам поменял Width
на код, вместо этого использовал ActualWidth
, но, хотя значения кажутся точными, рендеринг контекстного меню оставляет желать лучшего.Изменение ширины контекстного меню приводит к плохой визуализации
ответ
Не уверен, что это применимо, но есть ли у вас возможность использовать SnapToDevicePixels=True
? Я обнаружил, что это сильно влияет на рендеринг, когда он не используется ... но я не уверен, доступен ли этот параметр в вашем контекстном меню.
У меня есть опция, но она не влияет. Я также попытался заменить ItemPanelTemplate, но он по-прежнему отображал только часть ContextMenu – 2009-07-26 16:55:32
Ширина контекстного меню, по-видимому, зависит от длины текстового поля контекстного элемента с самым длинным текстовым полем.
Если вы добавляете кучу пробелов в одно текстовое поле контекстного элемента, это делает как этот контекстный элемент, так и все контекстное меню более широким.
Все в порядке.
Надеюсь, это поможет.
Пробовал все, о чем я могу думать, даже использовал ScaleTransform, но ничего не работает. Я думаю, что это, вероятно, ошибка, с которой никто не сталкивался, потому что никто не меняет размер их контекстных меню. – 2009-07-27 12:13:33