KeyBinding Třída

Definice

Vytvoří vazbu na KeyGesture (nebo jinou RoutedCommandICommand implementaci).

public ref class KeyBinding : System::Windows::Input::InputBinding
public class KeyBinding : System.Windows.Input.InputBinding
type KeyBinding = class
    inherit InputBinding
Public Class KeyBinding
Inherits InputBinding
Dědičnost
Dědičnost

Příklady

Následující příklad vytvoří KeyBinding a přidá ho do InputBindingCollection kořenového okna.

<Window.InputBindings>
  <KeyBinding Command="ApplicationCommands.Open"
              Gesture="CTRL+R" />
</Window.InputBindings>
// Creating a KeyBinding between the Open command and Ctrl-R
KeyBinding OpenCmdKeyBinding = new KeyBinding(
    ApplicationCommands.Open, 
    Key.R, 
    ModifierKeys.Control);

this.InputBindings.Add(OpenCmdKeyBinding);
' Creating a KeyBinding between the Open command and Ctrl-R
Dim OpenCmdKeyBinding As New KeyBinding(ApplicationCommands.Open, Key.R, ModifierKeys.Control)

Me.InputBindings.Add(OpenCmdKeyBinding)

Poznámky

Přidruží KeyGestureICommandKeyBinding k , například RoutedCommand. RoutedCommand je primární implementace ICommand rozhraní pro příkazový systém WPF . Obecně platí, že při KeyGesture spuštění příkazu je vyvolán příkaz, i když chování příkazu je dále ovlivněno faktory specifickými pro příkaz, jako CanExecute je například hodnota. Další informace o příkazování najdete v tématu Přehled příkazů.

S výjimkou funkčních kláves a kláves na numerické klávesnici musí platný KeyGesture objekt obsahovat přesně jednu Key a jednu nebo více ModifierKeys. Funkční klávesy a klávesy na numerické klávesnici nevyžadují modifikační klávesu, aby byly platné KeyGesture. Je možné zadat neplatné KeyGesture a KeyBinding s neplatným přidruženým gestem, a to buď prostřednictvím XAML, nebo kódu. Například neexistuje žádné ověření, které by zabránilo vytvoření a vytvoření vazby objektu KeyGesture , který obsahuje pouze nefunkční klíč, nebo pouze modifikátory, ale žádný klíč. Takový se KeyBinding nikdy nepokusí vyvolat svůj přidružený příkaz.

Při definování KeyBinding v jazyce XAML (Extensible Application Markup Language) existují dva způsoby, jak zadat KeyGesture. První způsob, jak vytvořit KeyBinding v XAML, je definovat Gesture atribut elementu KeyBinding , který umožňuje syntaxi určit klíče a modifikátory jako jeden řetězec, například "CTRL+P". Druhým způsobem je definovat Key atribut a Modifiers atributy elementu KeyBinding . Oba způsoby nastavení KeyGesture jsou ekvivalentní a upravují stejný podkladový objekt, ale pokud se použijí oba, dojde ke konfliktu. V případě, že Keyjsou všechny atributy , Modifiersa Gesture nastavené, použije se pro KeyGestureatribut , který je definován jako poslední. Může docházet k situacím, kdy například Key poslední sada přepíše jenom komponentu Klíč předchozího gesta, ale ponechá modifikátory gesta stejné. Obecně se doporučuje použít pouze Gesture atribut z XAML; tím se vyhnete nejednoznačnosti, poskytnete nejfektivnější syntaxi a poskytnete nejjednodušší reprezentaci pro serializaci.

Objekt KeyBinding lze definovat u konkrétního objektu nebo na úrovni třídy tím, že do třídy zaregistrujete RegisterClassInputBindingCommandManager . Nejtypičtějším způsobem definování KeyBinding je v šabloně ovládacího prvku nastavení InputBindings vlastnosti v XAML deklarací jednoho nebo více MouseBinding elementů nebo KeyBinding prvků.

Konstruktory

KeyBinding()

Inicializuje novou instanci KeyBinding třídy .

KeyBinding(ICommand, Key, ModifierKeys)

Inicializuje novou instanci KeyBinding třídy pomocí zadaných ICommand a zadaných Key a ModifierKeys , které budou převedeny na KeyGesture.

KeyBinding(ICommand, KeyGesture)

Inicializuje novou instanci KeyBinding třídy pomocí zadaných ICommand a KeyGesture.

Pole

KeyProperty

Identifikuje Key vlastnost závislosti.

ModifiersProperty

Identifikuje Modifiers vlastnost závislosti.

Vlastnosti

CanFreeze

Získá hodnotu, která označuje, zda objekt lze změnit.

(Zděděno od Freezable)
Command

Získá nebo nastaví přidružené k ICommand této vstupní vazbě.

(Zděděno od InputBinding)
CommandParameter

Získá nebo nastaví data specifická pro konkrétní příkaz.

(Zděděno od InputBinding)
CommandTarget

Získá nebo nastaví cílový prvek příkazu.

(Zděděno od InputBinding)
DependencyObjectType

Získá, DependencyObjectType který zabalí typ CLR této instance.

(Zděděno od DependencyObject)
Dispatcher

Získá to DispatcherDispatcherObject je přidružena k.

(Zděděno od DispatcherObject)
Gesture

Získá nebo nastaví gesto přidružené k tomuto KeyBinding.

IsFrozen

Získá hodnotu, která označuje, zda je objekt aktuálně upravitelný.

(Zděděno od Freezable)
IsSealed

Získá hodnotu, která označuje, zda je tato instance právě zapečetěna (jen pro čtení).

(Zděděno od DependencyObject)
Key

Získá nebo nastaví Key z přidružené k KeyGesture tomuto KeyBinding.

Modifiers

Získá nebo nastaví ModifierKeys z přidružené k KeyGesture tomuto KeyBinding.

Metody

CheckAccess()

Určuje, zda volající vlákno má přístup k tomuto DispatcherObject.

(Zděděno od DispatcherObject)
ClearValue(DependencyProperty)

Vymaže místní hodnotu vlastnosti. Vlastnost, která má být vymazána, je určena identifikátorem DependencyProperty .

(Zděděno od DependencyObject)
ClearValue(DependencyPropertyKey)

Vymaže místní hodnotu vlastnosti jen pro čtení. Vlastnost, která se má vymazat, je určena parametrem DependencyPropertyKey.

(Zděděno od DependencyObject)
Clone()

Vytvoří upravitelný klon objektu Freezablea vytvoří hluboké kopie hodnot objektu. Při kopírování vlastností závislostí objektu tato metoda kopíruje výrazy (které již nemusí být vyřešeny), ale ne animace nebo jejich aktuální hodnoty.

(Zděděno od Freezable)
CloneCore(Freezable)

Zkopíruje základní (ne animované) hodnoty vlastností zadaného objektu.

(Zděděno od InputBinding)
CloneCurrentValue()

Vytvoří upravitelný klon (hloubkovou kopii) objektu Freezable pomocí jeho aktuálních hodnot.

(Zděděno od Freezable)
CloneCurrentValueCore(Freezable)

Zkopíruje aktuální hodnoty vlastností zadaného objektu.

(Zděděno od InputBinding)
CoerceValue(DependencyProperty)

Převede hodnotu zadané vlastnosti závislosti. Toho se dosáhne vyvoláním jakékoli CoerceValueCallback funkce zadané v metadatech vlastnosti závislosti, protože existuje ve volajícím DependencyObjectobjektu .

(Zděděno od DependencyObject)
CreateInstance()

Inicializuje novou instanci Freezable třídy .

(Zděděno od Freezable)
CreateInstanceCore()

Vytvoří instanci objektu KeyBinding.

CreateInstanceCore()

Vytvoří instanci objektu InputBinding.

(Zděděno od InputBinding)
Equals(Object)

Určuje, zda zadaný DependencyObject je ekvivalentní k aktuálnímu DependencyObject.

(Zděděno od DependencyObject)
Freeze()

Nastaví aktuální objekt jako neupravitelný a nastaví jeho IsFrozen vlastnost na true.

(Zděděno od Freezable)
FreezeCore(Boolean)

Nastaví objekt jako Freezable neupravitelný nebo testuje, jestli ho nelze změnit.

(Zděděno od Freezable)
GetAsFrozen()

Vytvoří zamrzlou kopii objektu Freezables použitím základních (ne animovaných) hodnot vlastností. Vzhledem k tomu, že kopie je zamrzlá, jsou všechny ukotvené dílčí objekty zkopírovány odkazem.

(Zděděno od Freezable)
GetAsFrozenCore(Freezable)

Vytvoří instanci zmrazeného klonu zadaného Freezable pomocí základních (ne animovaných) hodnot vlastností.

(Zděděno od InputBinding)
GetCurrentValueAsFrozen()

Vytvoří zamrzlou kopii objektu Freezable s použitím aktuálních hodnot vlastností. Vzhledem k tomu, že kopie je zamrzlá, jsou všechny ukotvené dílčí objekty zkopírovány odkazem.

(Zděděno od Freezable)
GetCurrentValueAsFrozenCore(Freezable)

Vytvoří aktuální instanci zablokovaného klonu zadaného Freezableobjektu . Pokud má objekt animované vlastnosti závislostí, zkopírují se jeho aktuální animované hodnoty.

(Zděděno od InputBinding)
GetHashCode()

Získá hash kód pro tento DependencyObject.

(Zděděno od DependencyObject)
GetLocalValueEnumerator()

Vytvoří specializovaný enumerátor pro určení vlastností závislostí, které mají místně nastavené hodnoty v tomto DependencyObjectobjektu .

(Zděděno od DependencyObject)
GetType()

Type Získá z aktuální instance.

(Zděděno od Object)
GetValue(DependencyProperty)

Vrátí aktuální efektivní hodnotu vlastnosti závislosti na této instanci objektu DependencyObject.

(Zděděno od DependencyObject)
InvalidateProperty(DependencyProperty)

Znovu vyhodnotí efektivní hodnotu pro zadanou vlastnost závislosti.

(Zděděno od DependencyObject)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
OnChanged()

Volána při změně aktuálního Freezable objektu.

(Zděděno od Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject)

Zajišťuje, že jsou vytvořeny vhodné ukazatele kontextu pro DependencyObjectType datový člen, který byl právě nastaven.

(Zděděno od Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)

Tento člen podporuje infrastrukturu Windows Presentation Foundation (WPF) a není určen k použití přímo z vašeho kódu.

(Zděděno od Freezable)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Vyvolá se vždy, když byla aktualizována efektivní hodnota jakékoli vlastnosti závislosti na této DependencyObject vlastnosti. Konkrétní změněná vlastnost závislosti je uvedena v datech události.

(Zděděno od DependencyObject)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Přepíše implementaci DependencyObject tak, OnPropertyChanged(DependencyPropertyChangedEventArgs) aby také vyvolala všechny Changed obslužné rutiny v reakci na měnící se vlastnost závislosti typu Freezable.

(Zděděno od Freezable)
ReadLocalValue(DependencyProperty)

Vrátí místní hodnotu vlastnosti závislosti, pokud existuje.

(Zděděno od DependencyObject)
ReadPreamble()

Zajišťuje, že Freezable se k souboru přistupuje z platného vlákna. Dědíci Freezable musí tuto metodu volat na začátku jakéhokoli rozhraní API, které čte datové členy, které nejsou vlastnosti závislostí.

(Zděděno od Freezable)
SetCurrentValue(DependencyProperty, Object)

Nastaví hodnotu vlastnosti závislosti beze změny jejího zdroje hodnoty.

(Zděděno od DependencyObject)
SetValue(DependencyProperty, Object)

Nastaví místní hodnotu vlastnosti závislosti určenou identifikátorem vlastnosti závislosti.

(Zděděno od DependencyObject)
SetValue(DependencyPropertyKey, Object)

Nastaví místní hodnotu vlastnosti závislosti jen pro čtení určenou DependencyPropertyKey identifikátorem vlastnosti závislosti.

(Zděděno od DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Vrátí hodnotu, která označuje, zda serializační procesy mají serializovat hodnotu pro zadanou vlastnost závislosti.

(Zděděno od DependencyObject)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)
VerifyAccess()

Vynucuje, že volající vlákno má přístup k tomuto DispatcherObject.

(Zděděno od DispatcherObject)
WritePostscript()

Changed Vyvolá událost pro Freezable a vyvolá jeho OnChanged() metodu. Třídy odvozené z Freezable by měly tuto metodu volat na konci jakéhokoli rozhraní API, které upravuje členy třídy, které nejsou uloženy jako vlastnosti závislosti.

(Zděděno od Freezable)
WritePreamble()

Ověřuje, že Freezable objekt není zamrznutý a že se k němu přistupuje z platného kontextu podprocesů. Freezable Dědiče by tuto metodu měli volat na začátku jakéhokoli rozhraní API, které zapisuje do datových členů, které nejsou vlastnosti závislostí.

(Zděděno od Freezable)

Událost

Changed

Vyvolá se při změně objektu Freezable nebo objektu, který obsahuje.

(Zděděno od Freezable)

Platí pro

Viz také