Выравнивание по правому краю InputGestureText или пункт меню - PullRequest
1 голос
/ 05 января 2012

Есть ли у вас какие-либо идеи о том, как правильно обосновать пункты меню InputGestureText? InputGestureText моего меню всегда будет отображаться с выравниванием по левому краю так:

Файл
Новый ............... Ctrl + N
Открыть ............. Ctrl + O
Опции ......... Alt + Enter
Выход ................ X

Я пытаюсь отобразить это так:

Файл
Новый ....................... Ctrl + N
Открыть .................... Ctrl + O
Опции ............. Alt + Enter
Выход ............................... X

Я пытался сделать InputGestureText.PadLeft (), но мое семейство шрифтов пропорционально, поэтому оно все равно будет

Файл
Новый ............ Ctrl + N
Открыть ........... Ctrl + O
Опции ...... Alt + Enter
Выход .................. X

Я пытался найти способы сделать это возможным, но безуспешно.

Ответы [ 2 ]

1 голос
/ 05 января 2012

Вам необходимо изменить стиль пункта меню . Достаточно скопировать его и просто изменить выравнивание элемента с именем InputGestureText, мы используем ContentPresenter вместо TextBlock, но оба должны работать.

<ContentPresenter
  Grid.Column="2"
  Margin="16,0,6,0"
  x:Name="InputGestureText"
  Content="{TemplateBinding InputGestureText}"
  HorizontalAlignment="Right"
  VerticalAlignment="Center"/>
0 голосов
/ 05 января 2012

Возможно, вы могли бы изменить Template пунктов меню через Style, чтобы контейнер этого раздела выравнивал свое содержимое вправо.

...