KeyBinding Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
KeyGesture Vytvoří vazbu na (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
A KeyBinding přidruží k KeyGesture nějakému ICommand, například .RoutedCommand RoutedCommand je primární implementací ICommand rozhraní pro systém příkazů WPF . Obecně platí, že při KeyGesture spuštění příkazu se vyvolá, i když chování příkazu je dále ovlivněno faktory specifickými pro příkazy, jako CanExecute je hodnota. Další informace o příkazech najdete v přehledu příkazů.
S výjimkou funkčních kláves a číselných klávesových kláves musí platný KeyGesture obsahovat přesně jeden Key a jeden nebo více ModifierKeys. Funkční klávesy a numerické klávesy nevyžadují modifikační klávesu, aby byly platné KeyGesture. Je možné zadat neplatné KeyGesture gesto s KeyBinding neplatným přidruženým gestem, a to buď prostřednictvím XAML, nebo kódu. Například neexistuje žádné ověření, které brání vytvoření a vytvoření vazby KeyGesture obsahující pouze nefunkční klíč, nebo pouze modifikátory, ale žádný klíč. Takový se KeyBinding nikdy nepokusí vyvolat přidružený příkaz.
Při definování KeyBinding jazyka XAML (Extensible Application Markup Language) existují dva způsoby, jak určit KeyGesture. Prvním způsobem, jak vytvořit v XAML, KeyBinding je definovat Gesture atribut elementu KeyBinding , který umožňuje syntaxi zadat 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 upraví stejný základní objekt, ale pokud se použijí oba objekty, dojde ke konfliktu. V případě Key, , Modifiersa Gesture atributy jsou všechny nastaveny, atribut, který je definován jako poslední bude použita pro KeyGesture. Můžete také mít situace, kdy například Key sada naposledy přepíše jenom klíčovou komponentu předchozího gesta, ale ponechá modifikátory gesta stejné. Obecně se doporučuje používat pouze Gesture atribut z XAML. Tím se vyhnete nejednoznačnosti, poskytuje nejfektivnější syntaxi a poskytuje nejpřehlednější reprezentaci serializace.
A KeyBinding lze definovat na konkrétním objektu nebo na úrovni třídy registrací RegisterClassInputBinding třídy CommandManager . Nejtypičtější způsob, jak definovat šablonu KeyBinding ovládacího prvku, nastavení InputBindings vlastnosti v XAML deklarací jednoho nebo více MouseBinding prvků.KeyBinding
Konstruktory
| Name | Description |
|---|---|
| KeyBinding() |
Inicializuje novou instanci KeyBinding třídy. |
| KeyBinding(ICommand, Key, ModifierKeys) |
Inicializuje novou instanci KeyBinding třídy pomocí zadané ICommand a zadané Key a ModifierKeys která bude převedena na .KeyGesture |
| KeyBinding(ICommand, KeyGesture) |
Inicializuje novou instanci KeyBinding třídy pomocí zadané ICommand a KeyGesture. |
Pole
| Name | Description |
|---|---|
| KeyProperty |
Identifikuje Key vlastnost závislosti. |
| ModifiersProperty |
Identifikuje Modifiers vlastnost závislosti. |
Vlastnosti
| Name | Description |
|---|---|
| CanFreeze |
Získá hodnotu, která označuje, zda objekt lze vytvořit nemodifovatelný. (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 příkaz 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 |
DependencyObjectType Získá ten, který zabalí typ CLR této instance. (Zděděno od DependencyObject) |
| Dispatcher |
Dispatcher Získá toto DispatcherObject je přidružené. (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 objekt je aktuálně upravitelný. (Zděděno od Freezable) |
| IsSealed |
Získá hodnotu, která označuje, zda je tato instance aktuálně zapečetěna (jen pro čtení). (Zděděno od DependencyObject) |
| Key |
Získá nebo nastaví Key přidružené k KeyGesture tomuto KeyBinding. |
| Modifiers |
Získá nebo nastaví ModifierKeys přidružené k KeyGesture tomuto KeyBinding. |
Metody
| Name | Description |
|---|---|
| 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á se má vymazat, je určena identifikátorem DependencyProperty . (Zděděno od DependencyObject) |
| ClearValue(DependencyPropertyKey) |
Vymaže místní hodnotu vlastnosti jen pro čtení. Vlastnost, která má být vymazána, je určena parametrem DependencyPropertyKey. (Zděděno od DependencyObject) |
| Clone() |
Vytvoří upravitelný klon objektu Freezable, vytváření hlubokých kopií hodnot objektu. Při kopírování vlastností závislostí objektu tato metoda kopíruje výrazy (které se už nemusí překládat), 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 Freezable kopii) pomocí 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 dosahuje vyvoláním jakékoli CoerceValueCallback funkce zadané v metadatech vlastností pro vlastnost závislosti, protože existuje ve volání DependencyObject. (Zděděno od DependencyObject) |
| CreateInstance() |
Inicializuje novou instanci Freezable třídy. (Zděděno od Freezable) |
| CreateInstanceCore() |
Vytvoří instanci objektu KeyBinding. |
| Equals(Object) |
Určuje, zda je poskytnutá DependencyObject hodnota ekvivalentní aktuálnímu DependencyObject. (Zděděno od DependencyObject) |
| Freeze() |
Nastaví aktuální objekt jako nemodifikovatelný a nastaví jeho IsFrozen vlastnost na |
| FreezeCore(Boolean) |
Freezable Znepřístupňuje objekt nebo testuje, zda je možné ho upravit. (Zděděno od Freezable) |
| GetAsFrozen() |
Vytvoří zablokovanou kopii Freezablevlastnosti , pomocí základních (ne animovaných) hodnot vlastností. Vzhledem k tomu, že je kopie zablokovaná, všechny ukotvené dílčí objekty se zkopírují odkazem. (Zděděno od Freezable) |
| GetAsFrozenCore(Freezable) |
Vytvoří instanci zablokovaným klonem zadaného Freezable pomocí základních (ne animovaných) hodnot vlastností. (Zděděno od InputBinding) |
| GetCurrentValueAsFrozen() |
Vytvoří ukotvenou kopii s použitím aktuálních Freezable hodnot vlastností. Vzhledem k tomu, že je kopie zablokovaná, všechny ukotvené dílčí objekty se zkopírují odkazem. (Zděděno od Freezable) |
| GetCurrentValueAsFrozenCore(Freezable) |
Vytvoří aktuální instanci zmrazený klon zadaného Freezable. Pokud má objekt animované vlastnosti závislostí, jejich aktuální animované hodnoty se zkopírují. (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í, které vlastnosti závislosti mají místně nastavené hodnoty na tomto DependencyObject. (Zděděno od DependencyObject) |
| GetType() |
Získá Type 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 Object. (Zděděno od Object) |
| OnChanged() |
Volá se při změně aktuálního Freezable objektu. (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) |
| OnFreezablePropertyChanged(DependencyObject, DependencyObject) |
Zajišťuje, aby byly pro datový člen, který byl právě nastaven, vytvořeny DependencyObjectType příslušné kontextové ukazatele. (Zděděno od Freezable) |
| OnPropertyChanged(DependencyPropertyChangedEventArgs) |
Vyvolána vždy, když byla aktualizována efektivní hodnota jakékoli vlastnosti závislosti na této DependencyObject vlastnosti. Konkrétní vlastnost závislosti, která se změnila, je hlášena v datech události. (Zděděno od DependencyObject) |
| OnPropertyChanged(DependencyPropertyChangedEventArgs) |
Přepíše implementaci DependencyObjectOnPropertyChanged(DependencyPropertyChangedEventArgs) také vyvolat všechny Changed obslužné rutiny v reakci na měnící se závislost vlastnost 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 se k němu Freezable přistupuje z platného vlákna. Dědiče Freezable této metody musí volat tuto metodu na začátku jakéhokoli rozhraní API, které čte datové členy, které nejsou vlastnostmi závislosti. (Zděděno od Freezable) |
| SetCurrentValue(DependencyProperty, Object) |
Nastaví hodnotu vlastnosti závislosti beze změny jejího zdroje hodnot. (Zděděno od DependencyObject) |
| SetValue(DependencyProperty, Object) |
Nastaví místní hodnotu vlastnosti závislosti určenou jeho 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 identifikátorem DependencyPropertyKey vlastnosti závislosti. (Zděděno od DependencyObject) |
| ShouldSerializeProperty(DependencyProperty) |
Vrátí hodnotu, která určuje, zda procesy serializace 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 událost Freezable a vyvolá její OnChanged() metodu. Třídy odvozené z Freezable by měly volat tuto metodu 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 není zablokovaný a že k němu přistupujete z platného kontextu podprocesu. Freezable dědiče by měly tuto metodu volat na začátku jakéhokoli rozhraní API, které zapisuje do datových členů, které nejsou vlastnostmi závislosti. (Zděděno od Freezable) |
Událost
| Name | Description |
|---|---|
| Changed |
Nastane, když Freezable je objekt, který obsahuje, změněn. (Zděděno od Freezable) |