Freigeben über


UIElement.KeyboardAccelerators Eigenschaft

Definition

Ruft die Auflistung von Tastenkombinationen ab, die eine Aktion mithilfe der Tastatur aufrufen.

Beschleuniger werden in der Regel Schaltflächen oder Menüelementen zugewiesen.

Beispiel für ein Menü mit Tastenkombinationen für verschiedene Menüelemente
Beispiel für ein Menü mit Tastenkombinationen für verschiedene Menüelemente

public:
 property IVector<KeyboardAccelerator ^> ^ KeyboardAccelerators { IVector<KeyboardAccelerator ^> ^ get(); };
IVector<KeyboardAccelerator> KeyboardAccelerators();
public IList<KeyboardAccelerator> KeyboardAccelerators { get; }
var iVector = uIElement.keyboardAccelerators;
Public ReadOnly Property KeyboardAccelerators As IList(Of KeyboardAccelerator)

Eigenschaftswert

Die Auflistung von KeyboardAccelerator-Objekten .

Beispiele

Hier geben wir Tastenkombinationen für eine Reihe von Schaltflächen an (wir geben eine QuickInfo für Button1an, die das standardmäßige Anzeigeverhalten der Tastenkombination überschreibt).

<StackPanel x:Name="Container" Grid.Row="0" Background="AliceBlue">
    <Button Content="Button1" Margin="20"
            KeyboardAcceleratorPlacementMode="Auto"
            ToolTipService.ToolTip="Tooltip">
        <Button.KeyboardAccelerators>
            <KeyboardAccelerator  Key="A" Modifiers="Windows"/>
        </Button.KeyboardAccelerators>
    </Button>
    <Button Content="Button2"  Margin="20"
            KeyboardAcceleratorPlacementMode="Auto">
        <Button.KeyboardAccelerators>
            <KeyboardAccelerator  Key="B" Modifiers="Windows"/>
        </Button.KeyboardAccelerators>
    </Button>
    <Button Content="Button3"  Margin="20"
            KeyboardAcceleratorPlacementMode="Auto">
        <Button.KeyboardAccelerators>
            <KeyboardAccelerator  Key="C" Modifiers="Windows"/>
        </Button.KeyboardAccelerators>
    </Button>
</StackPanel>

In diesem Beispiel geben wir Tastenkombinationen für eine Reihe von MenuFlyoutItem - und ToggleMenuFlyoutItem -Objekten an. Die Tastenkombination wird im Flyout des Steuerelements angezeigt.

<AppBarButton AccessKey="R" Icon="Refresh" Label="Refresh" IsAccessKeyScope="True">
    <AppBarButton.Flyout>
        <MenuFlyout>
            <MenuFlyoutItem AccessKey="A" Icon="Refresh" Text="Refresh A">
                <MenuFlyoutItem.KeyboardAccelerators>
                    <KeyboardAccelerator Key="R" Modifiers="Control"/>
                </MenuFlyoutItem.KeyboardAccelerators>
            </MenuFlyoutItem>
            <MenuFlyoutItem AccessKey="B" Icon="Globe" Text="Refresh B" />
            <MenuFlyoutItem AccessKey="C" Icon="Globe" Text="Refresh C" />
            <MenuFlyoutItem AccessKey="D" Icon="Globe" Text="Refresh D" />
            <ToggleMenuFlyoutItem AccessKey="E" Icon="Globe" Text="ToggleMe">
                <MenuFlyoutItem.KeyboardAccelerators>
                    <KeyboardAccelerator Key="Q" Modifiers="Control"/>
                </MenuFlyoutItem.KeyboardAccelerators>
            </ToggleMenuFlyoutItem>
        </MenuFlyout>
    </AppBarButton.Flyout>
</AppBarButton>

Steuern Sie das Präsentationsverhalten mithilfe der KeyboardAcceleratorPlacementMode-Eigenschaft , die zwei Werte akzeptiert: Auto oder Ausgeblendet.

<Button Content="Save" Click="OnSave" KeyboardAcceleratorPlacementMode="Auto">
    <Button.KeyboardAccelerators>
        <KeyboardAccelerator Key="S" Modifiers="Control" />
    </Button.KeyboardAccelerators>
</Button>

In einigen Fällen müssen Sie möglicherweise eine QuickInfo relativ zu einem anderen Element (in der Regel ein Containerobjekt) präsentieren.

Hier zeigen wir, wie Sie die KeyboardAcceleratorPlacementTarget -Eigenschaft verwenden, um die Tastenkombination der Tastenkombination für eine Schaltfläche Speichern mit dem Grid Container anstelle der Schaltfläche anzuzeigen.

<Grid x:Name="Container" Padding="30">
  <Button Content="Save"
    Click="OnSave"
    KeyboardAcceleratorPlacementMode="Auto"
    KeyboardAcceleratorPlacementTarget="{x:Bind Container}">
    <Button.KeyboardAccelerators>
      <KeyboardAccelerator  Key="S" Modifiers="Control" />
    </Button.KeyboardAccelerators>
  </Button>
</Grid>

Hinweise

Da Tastenkombinationen in der Regel nicht direkt auf der Benutzeroberfläche Ihrer Anwendung beschrieben werden, können Sie die Auffindbarkeit durch QuickInfos verbessern, die automatisch angezeigt werden, wenn der Benutzer den Fokus auf ein Steuerelement bewegt, den Mauszeiger drückt und hält oder mit dem Mauszeiger auf ein Steuerelement bewegt. Die QuickInfo kann ermitteln, ob ein Steuerelement über eine zugeordnete Tastenkombination verfügt und wenn ja, wie die Tastenkombination ist.

Windows 10 Build 1703 und höher wurden Tastenkombinationen für die Tastenkombinationen eingeführt. Diese Tastenkombinationen wurden jedoch nicht mit der Benutzeroberfläche der entsprechenden Steuerelemente angezeigt.

In Windows 10 Build 1803 und höher, wenn KeyboardAccelerators deklariert werden, stellen Steuerelemente standardmäßig die entsprechenden Tastenkombinationen in einer QuickInfo bereit (es sei denn, sie sind MenuFlyoutItem- und ToggleMenuFlyoutItem-Objekten zugeordnet).

Hinweis

Das Angeben einer QuickInfo überschreibt dieses Verhalten.

Für MenuFlyoutItem- und ToggleMenuFlyoutItem-Objekte wird die Tastenkombination mit dem Flyouttext angezeigt.

Wenn für ein Steuerelement mehrere Beschleuniger definiert sind, wird der erste registrierte Beschleuniger angezeigt.

Abhängig vom Steuerelement können Sie die Standardtastenkombinationszeichenfolge überschreiben, die einem [Tastaturbeschleuniger mithilfe von Textüberschreibungseigenschaften zugeordnet ist. Weitere Informationen finden Sie unterMenuFlyoutItem.KeyboardAcceleratorTextOverride, AppBarButton.KeyboardAcceleratorTextOverride und AppBarToggleButton.KeyboardAcceleratorTextOverride.

Eine Tastenkombination kann eine einzelne Taste sein, z. B. F1 - F12 und ESC, oder eine Tastenkombination (STRG+UMSCHALT+B oder STRG C), die einen Befehl aufrufen. Sie unterscheiden sich von Zugriffstasten (Mnemonik), die in der Regel mit der ALT-Taste geändert werden und einfach einen Befehl oder ein Steuerelement aktivieren.

Eine Beschleunigertaste kann auch dann ausgeführt werden, wenn das element, das der Beschleunigerbeschleunigung zugeordnet ist, nicht sichtbar ist. Beispielsweise kann ein Element in der CommandBar.SecondaryCommands-Auflistung der CommandBar mithilfe einer Zugriffstaste aufgerufen werden, ohne das Überlaufmenü zu erweitern und das Element anzuzeigen.

Standardmäßig verfügt eine Zugriffstaste über einen globalen Bereich. Sie können den Bereich jedoch mithilfe von KeyboardAccelerator.ScopeOwner einschränken oder einen Beschleuniger vollständig mithilfe von KeyboardAccelerator.IsEnabled deaktivieren.

Gilt für:

Weitere Informationen