![](/img/trans.png)
[英]How can I right-align accelerator text in a Windows.Controls.ContextMenu menuitem?
[英]How do I align the Keyboard accelerator text to the right in UWP?
<Grid>
<Button Content="Button1">
<Button.Flyout>
<MenuFlyout>
<MenuFlyoutItem Text="Item 1">
<MenuFlyoutItem.KeyboardAccelerators>
<KeyboardAccelerator Key="Number1" Modifiers="Control"/>
</MenuFlyoutItem.KeyboardAccelerators>
</MenuFlyoutItem>
<MenuFlyoutItem Text="Item 2">
<MenuFlyoutItem.KeyboardAccelerators>
<KeyboardAccelerator Key="Number2" Modifiers="Control,Menu"/>
</MenuFlyoutItem.KeyboardAccelerators>
</MenuFlyoutItem>
</MenuFlyout>
</Button.Flyout>
</Button>
</Grid>
鍵盤加速器文本向左對齊,如下圖所示:
無論如何,我可以將鍵盤加速器文本對齊到 Google chrome 菜單中所示的右側嗎?
KeyboardAccelerator 有一個 MenuFlyoutItem 樣式的內容展示器,因此我們可以更改 MenuFlyoutItem 的默認樣式來調整 KeyboardAccelerator 的文本位置。 請參考以下步驟。
打開generic.xaml ,找到鍵為MenuFlyoutItemRevealStyle的默認 MenuFlyoutItem 樣式,復制該樣式並粘貼到App.xaml 。 此外,您還需要在 App.xaml 中添加<Style TargetType="MenuFlyoutItem" BasedOn="{StaticResource MenuFlyoutItemRevealStyle}" />
,這將應用此樣式到所有 MenuFlyoutItem。
然后你會在 MenuFlyoutItemRevealStyle 中找到一個名為KeyboardAcceleratorTextBlock的 TextBlock,你可以添加TextAlignment="Right"
到這個 TextBlock。
如下:
<Application
..>
<Application.Resources>
<ResourceDictionary>
<Style TargetType="MenuFlyoutItem" BasedOn="{StaticResource MenuFlyoutItemRevealStyle}" />
<Style TargetType="MenuFlyoutItem" x:Key="MenuFlyoutItemRevealStyle">
…….
<TextBlock x:Name="KeyboardAcceleratorTextBlock"
……
TextAlignment="Right"
AutomationProperties.AccessibilityView="Raw" />
……
</Style>
</ResourceDictionary>
</Application.Resources>
</Application>
您可以參考 XAML 控件庫中的所有和一些新控件,在 Microsoft 商店中搜索此應用程序,我們將得到它。 您也可以參考商店中提供的“Windows 示例工具包”。
回答您的問題:您可以從 XAML 控件庫檢查菜單彈出控件。 您還將在那里獲得代碼
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.