gpt4 book ai didi

c# - 在 WPF 中,如何在保留键盘快捷键的同时右对齐菜单项?

转载 作者:行者123 更新时间:2023-11-30 17:20:54 30 4
gpt4 key购买 nike

我最近更改了我的 XAML,以便获得右对齐菜单项的功能,例如在下图中设置字体大小:

File  Configure  Help      +-------------+  +----+      | Font size > |->|  8 |      | Speed     > |  | 10 |      +-------------+  | 12 |                       +----+

Obviously, based on that graphic, I won't be moving from a technical role into graphic design anytime soon :-) It's more just to illustrate what I meant.

The original XAML below did not right-justify the values

<MenuItem Header="_Configure">
<MenuItem Header="_Font size ">
<MenuItem Header="_8" Click="menuConfigFontSz8" />
<MenuItem Header="1_0" Click="menuConfigFontSz10" />
<MenuItem Header="1_2" Click="menuConfigFontSz12" />
</MenuItem>
:
</MenuItem>

相反,它给了我:

File  Configure  Help      +-------------+  +----+      | Font size > |->| 8  |      | Speed     > |  | 10 |      +-------------+  | 12 |                       +----+

So, to get right-justification, I changed it to:

<MenuItem Header="_Configure">
<MenuItem Header="_Font size ">
<MenuItem Click="menuConfigFontSz8">
<MenuItem.Header>
<TextBlock HorizontalAlignment="Right">_8</TextBlock>
</MenuItem.Header>
</MenuItem>
<MenuItem Click="menuConfigFontSz10">
<MenuItem.Header>
<TextBlock HorizontalAlignment="Right">1_0</TextBlock>
</MenuItem.Header>
</MenuItem>
<MenuItem Click="menuConfigFontSz12">
<MenuItem.Header>
<TextBlock HorizontalAlignment="Right">1_2</TextBlock>
</MenuItem.Header>
</MenuItem>
</MenuItem>
:
</MenuItem>

但是,我发现我已经失去了执行 AltCF0 的快捷方式功能选择字体大小 10(只是 0 位不再有效,前两位仍然可以)。

相反,它在菜单本身中为我提供了文字文本 1_0,而不是允许我使用 0 作为选择项目的快速方式:

File  Configure  Help      +-------------+  +-----+      | Font size > |->|  _8 |      | Speed     > |  | 1_0 |      +-------------+  | 1_2 |                       +-----+

如何在保持菜单文本正确对齐的同时允许使用快捷键?

最佳答案

当您向 MenuItem(和 Button)添加快捷键时,WPF 会自动向您的 MenuItem 添加一个 TextBlock,这可能会阻止您的代码工作。如果您看一下 answer,就可以看到这种效果。对此question .

如果您的资源中没有覆盖默认 TextBlock 行为的通用 TextBlock 样式,此代码可以解决此问题。

<MenuItem Header="_Configure"> 
<MenuItem Header="_Font size">
<MenuItem Click="menuConfigFontSz8" Header="_8" HorizontalAlignment="Right"/>
<MenuItem Click="menuConfigFontSz10" Header="1_0" HorizontalAlignment="Right"/>
<MenuItem Click="menuConfigFontSz12" Header="1_2" HorizontalAlignment="Right"/>
</MenuItem>

关于c# - 在 WPF 中,如何在保留键盘快捷键的同时右对齐菜单项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3899302/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com