次の方法で共有


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 です。

テキストを使用しない場合は、1 つのスペースを使用します。

注釈

Windows 10バージョン 1703 では、キーボード アクセラレータのショートカットが導入されました。 ただし、これらのショートカットは、対応するコントロールの UI では表示されませんでした。

Windows 10 バージョン 1803 以降では、KeyboardAccelerators が宣言されると、コントロールには対応するキーの組み合わせが既定で表示されます。

上書きしたテキストは、取り付けられているキーボードをシステムが検出できない場合は表示されません (取り付けられているキーボードの検出は、KeyboardPresent プロパティを使用して、ご自分で確認することができます)。

バージョンの互換性

KeyboardAcceleratorTextOverride プロパティは、バージョン 1803 より前Windows 10使用できません。 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";
    }
}

適用対象

こちらもご覧ください