Share via


MenuFlyoutItem.KeyboardAcceleratorTextOverride 属性

定义

获取或设置一个字符串,该字符串替代与 键盘快捷键关联的默认组合键字符串。

显示各种菜单项的键盘快捷键的菜单示例

显示各种菜单项的键盘快捷键的菜单示例

public:
 property Platform::String ^ KeyboardAcceleratorTextOverride { Platform::String ^ get(); void set(Platform::String ^ value); };
winrt::hstring KeyboardAcceleratorTextOverride();

void KeyboardAcceleratorTextOverride(winrt::hstring value);
public string KeyboardAcceleratorTextOverride { get; set; }
var string = menuFlyoutItem.keyboardAcceleratorTextOverride;
menuFlyoutItem.keyboardAcceleratorTextOverride = string;
Public Property KeyboardAcceleratorTextOverride As String

属性值

String

Platform::String

winrt::hstring

要替换默认组合键字符串的字符串。 默认值为 NULL。

不对文本使用单个空格。

注解

Windows 10版本 1703 引入了键盘快捷键快捷方式。 但是,这些快捷方式未与其相应控件的 UI 一起显示。

从 Windows 10 版本 1803 开始,在声明 KeyboardAccelerators 时,控件默认显示相应的组合键。

如果系统无法检测连接的键盘(你可以通过 KeyboardPresent 属性自行检查),则不显示覆盖文本。

版本兼容性

KeyboardAcceleratorTextOverride 属性在 Windows 10 版本 1803 之前不可用。 如果你的应用在 Microsoft Visual Studio 中的“最低平台版本”设置小于本页稍后的“要求”块中显示的“引入版本”,则必须设计和测试应用以考虑到这一点。 有关详细信息,请参阅 版本自适应代码

若要避免应用在以前版本的 Windows 10 上运行时出现异常,请勿在 XAML 中设置此属性,或者在不执行运行时检查的情况下使用它。 此示例演示如何使用 ApiInformation 类在设置此属性之前检查此属性是否存在。

<CommandBar x:Name="commandBar1" Loaded="CommandBar_Loaded">
    <AppBarToggleButton x:Name="appBarButtonShuffle" Icon="Shuffle" Label="Shuffle"/>
</CommandBar>


<Button Content="Button Flyout">
   <Button.Flyout>
      <MenuFlyout>
         <MenuFlyoutItem x:Name="menuFlyoutItemExample" Text="Item 1" />
         <MenuFlyoutItem Text="Item 2" />
         <MenuFlyoutSeparator />
         <MenuFlyoutSubItem Text="Item 3">
            <MenuFlyoutItem Text="Item 4" />
            <MenuFlyoutSubItem Text="Item 5">
               <MenuFlyoutItem Text="Item 6" />
               <MenuFlyoutItem Text="Item 7" />
            </MenuFlyoutSubItem>
         </MenuFlyoutSubItem>
         <MenuFlyoutSeparator />
         <ToggleMenuFlyoutItem Text="Toggle Menu Item 1" />
      </MenuFlyout>
   </Button.Flyout>
</Button>
private void Button_Loaded(object sender, RoutedEventArgs e)
{
    if (ApiInformation.IsPropertyPresent("Windows.UI.Xaml.Controls.MenuFlyoutItem", "KeyboardAcceleratorTextOverride"))
    {
        menuFlyoutItemExample.KeyboardAcceleratorTextOverride = "Ctrl+S";
    }
}

适用于

另请参阅