KeyBinding Klas

Definitie

Verbindt een KeyGesture aan een RoutedCommand (of een andere ICommand implementatie).

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
Overname
Overname

Voorbeelden

In het volgende voorbeeld wordt een KeyBinding en toegevoegd aan het InputBindingCollection hoofdvenster.

<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)

Opmerkingen

Een KeyBinding koppelt een KeyGesture aan een ICommand, zoals een RoutedCommand. RoutedCommand is de primaire implementatie van de interface ICommand voor het WPF opdrachtsysteem. In het algemeen wordt de opdracht aangeroepen wanneer de KeyGesture opdracht wordt uitgevoerd, hoewel het opdrachtgedrag verder wordt beïnvloed door opdrachtspecifieke factoren zoals de CanExecute waarde. Zie het Overzicht van opdrachten voor meer informatie over het uitvoeren van opdrachten.

Met uitzondering van de functietoetsen en de numerieke toetsenblok, moet een geldige KeyGesture exact één Key en een of meer ModifierKeysbevatten. Voor functietoetsen en numerieke toetsenbloktoetsen is geen wijzigingstoets vereist om een geldige KeyGesturesleutel te zijn. Het is mogelijk om een ongeldige KeyGesture en een KeyBinding met een ongeldige gekoppelde beweging op te geven, hetzij via XAML of code. Er is bijvoorbeeld geen validatie die het maken en binden van een sleutel KeyGesture die alleen een niet-functionele sleutel bevat, of alleen modifiers, maar geen sleutel. KeyBinding Een dergelijke zal nooit proberen de bijbehorende opdracht aan te roepen.

Bij het definiëren van een KeyBinding in Extensible Application Markup Language (XAML) zijn er twee manieren om de KeyGesture. De eerste manier om een KeyBinding in XAML tot stand te brengen, is het definiëren van het Gesture kenmerk van het KeyBinding element, waarmee een syntaxis sleutels en modifiers kan opgeven als één tekenreeks, bijvoorbeeld Ctrl+P. De tweede manier is om het Key kenmerk en de Modifiers kenmerken van het KeyBinding element te definiëren. Beide manieren om het KeyGesture in te stellen, zijn gelijkwaardig en wijzigen hetzelfde onderliggende object, maar er is een conflict als beide worden gebruikt. In het geval dat de Key, Modifiersen de Gesture kenmerken allemaal zijn ingesteld, wordt het kenmerk dat als laatste is gedefinieerd, gebruikt voor de KeyGesture. U kunt mogelijk situaties hebben waarin bijvoorbeeld een Key set laatst wordt overschreven door alleen het belangrijkste onderdeel van een voorgaande beweging, maar de modifiers van het gebaar hetzelfde laten. Over het algemeen is het raadzaam om alleen het Gesture kenmerk van XAML te gebruiken. Dit voorkomt dubbelzinnigheid, biedt de meest gestroomlijnde syntaxis en biedt de meest eenvoudige weergave voor serialisatie.

Een KeyBinding kan worden gedefinieerd voor een specifiek object of op klasseniveau door een RegisterClassInputBinding op de CommandManager klasse te registreren. De meest voorkomende manier om een KeyBinding te definiëren is binnen de besturingssjabloon, waarbij de InputBindings eigenschap in XAML wordt ingesteld door een of meer MouseBinding elementen KeyBinding te declareren.

Constructors

Name Description
KeyBinding()

Initialiseert een nieuw exemplaar van de KeyBinding klasse.

KeyBinding(ICommand, Key, ModifierKeys)

Initialiseert een nieuw exemplaar van de KeyBinding klasse met behulp van de opgegeven ICommand en de opgegeven Key en ModifierKeys die worden geconverteerd naar een KeyGesture.

KeyBinding(ICommand, KeyGesture)

Initialiseert een nieuw exemplaar van de KeyBinding klasse met behulp van de opgegeven ICommand en KeyGesture.

Velden

Name Description
KeyProperty

Identificeert de Key afhankelijkheidseigenschap.

ModifiersProperty

Identificeert de Modifiers afhankelijkheidseigenschap.

Eigenschappen

Name Description
CanFreeze

Hiermee wordt een waarde opgehaald die aangeeft of het object onmodieerbaar kan worden gemaakt.

(Overgenomen van Freezable)
Command

Hiermee haalt u de ICommand gekoppelde invoerbinding op of stelt u deze in.

(Overgenomen van InputBinding)
CommandParameter

Hiermee haalt u de opdrachtspecifieke gegevens voor een bepaalde opdracht op of stelt u deze in.

(Overgenomen van InputBinding)
CommandTarget

Hiermee haalt u het doelelement van de opdracht op of stelt u dit in.

(Overgenomen van InputBinding)
DependencyObjectType

Hiermee haalt u het DependencyObjectType CLR-type van dit exemplaar op.

(Overgenomen van DependencyObject)
Dispatcher

Hiermee wordt de Dispatcher aan dit DispatcherObject gekoppelde bestand.

(Overgenomen van DispatcherObject)
Gesture

Hiermee haalt u het gebaar op of stelt u deze KeyBindingin.

IsFrozen

Hiermee wordt een waarde opgehaald die aangeeft of het object momenteel kan worden gewijzigd.

(Overgenomen van Freezable)
IsSealed

Hiermee wordt een waarde opgehaald die aangeeft of dit exemplaar momenteel is verzegeld (alleen-lezen).

(Overgenomen van DependencyObject)
Key

Hiermee haalt u de Key gekoppelde KeyGesture op of stelt u deze KeyBindingin.

Modifiers

Hiermee haalt u de ModifierKeys gekoppelde KeyGesture op of stelt u deze KeyBindingin.

Methoden

Name Description
CheckAccess()

Bepaalt of de aanroepende thread toegang heeft tot dit DispatcherObject.

(Overgenomen van DispatcherObject)
ClearValue(DependencyProperty)

Hiermee wist u de lokale waarde van een eigenschap. De eigenschap die moet worden gewist, wordt opgegeven door een DependencyProperty id.

(Overgenomen van DependencyObject)
ClearValue(DependencyPropertyKey)

Hiermee wist u de lokale waarde van een alleen-lezen eigenschap. De eigenschap die moet worden gewist, wordt opgegeven door een DependencyPropertyKey.

(Overgenomen van DependencyObject)
Clone()

Hiermee maakt u een wijzigbare kloon van de Freezable, waardoor diepe kopieën van de waarden van het object worden gemaakt. Bij het kopiëren van de eigenschappen van de afhankelijkheid van het object kopieert deze methode expressies (die mogelijk niet meer worden omgezet) maar niet animaties of hun huidige waarden.

(Overgenomen van Freezable)
CloneCore(Freezable)

Kopieert de basiswaarden (niet-geanimeerd) van de eigenschappen van het opgegeven object.

(Overgenomen van InputBinding)
CloneCurrentValue()

Hiermee maakt u een wijzigbare kloon (diepe kopie) van het gebruik van de Freezable huidige waarden.

(Overgenomen van Freezable)
CloneCurrentValueCore(Freezable)

Kopieert de huidige waarden van de eigenschappen van het opgegeven object.

(Overgenomen van InputBinding)
CoerceValue(DependencyProperty)

Hiermee wordt de waarde van de opgegeven afhankelijkheidseigenschap gecodeerd. Dit wordt bereikt door een CoerceValueCallback functie aan te roepen die is opgegeven in eigenschapsmetagegevens voor de afhankelijkheidseigenschap, zoals deze bestaat bij het aanroepen DependencyObject.

(Overgenomen van DependencyObject)
CreateInstance()

Initialiseert een nieuw exemplaar van de Freezable klasse.

(Overgenomen van Freezable)
CreateInstanceCore()

Hiermee maakt u een exemplaar van een KeyBinding.

Equals(Object)

Bepaalt of een opgegeven DependencyObject gelijk is aan de huidige DependencyObject.

(Overgenomen van DependencyObject)
Freeze()

Maakt het huidige object onmodifieerbaar en stelt de IsFrozen eigenschap ervan in op true.

(Overgenomen van Freezable)
FreezeCore(Boolean)

Maakt het Freezable object onmodifieerbaar of test of het kan worden onmodifieerbaar.

(Overgenomen van Freezable)
GetAsFrozen()

Hiermee maakt u een geblokkeerde kopie van de Freezableeigenschapswaarden met basiswaarden (niet-geanimeerd). Omdat de kopie is geblokkeerd, worden alle geblokkeerde subobjecten gekopieerd met verwijzing.

(Overgenomen van Freezable)
GetAsFrozenCore(Freezable)

Hiermee wordt het exemplaar een geblokkeerde kloon van de opgegeven Freezable met behulp van basiseigenschapswaarden (niet-geanimeerd).

(Overgenomen van InputBinding)
GetCurrentValueAsFrozen()

Hiermee maakt u een geblokkeerde kopie van het Freezable gebruik van de huidige eigenschapswaarden. Omdat de kopie is geblokkeerd, worden alle geblokkeerde subobjecten gekopieerd met verwijzing.

(Overgenomen van Freezable)
GetCurrentValueAsFrozenCore(Freezable)

Hiermee wordt het huidige exemplaar een geblokkeerde kloon van de opgegeven Freezable. Als het object eigenschappen van afhankelijkheid met animatie heeft, worden de huidige geanimeerde waarden gekopieerd.

(Overgenomen van InputBinding)
GetHashCode()

Hiermee haalt u een hashcode op.DependencyObject

(Overgenomen van DependencyObject)
GetLocalValueEnumerator()

Hiermee maakt u een gespecialiseerde enumerator om te bepalen welke afhankelijkheidseigenschappen lokaal waarden hebben ingesteld.DependencyObject

(Overgenomen van DependencyObject)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
GetValue(DependencyProperty)

Retourneert de huidige effectieve waarde van een afhankelijkheidseigenschap op dit exemplaar van een DependencyObject.

(Overgenomen van DependencyObject)
InvalidateProperty(DependencyProperty)

Evalueert de effectieve waarde voor de opgegeven afhankelijkheidseigenschap opnieuw.

(Overgenomen van DependencyObject)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
OnChanged()

Aangeroepen wanneer het huidige Freezable object wordt gewijzigd.

(Overgenomen van Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)

Dit lid ondersteunt de Windows Presentation Foundation -infrastructuur (WPF) en is niet bedoeld om rechtstreeks vanuit uw code te worden gebruikt.

(Overgenomen van Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject)

Zorgt ervoor dat de juiste contextpointers tot stand worden gebracht voor een DependencyObjectType gegevenslid dat zojuist is ingesteld.

(Overgenomen van Freezable)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Aangeroepen wanneer de effectieve waarde van een afhankelijkheidseigenschap op deze DependencyObject eigenschap is bijgewerkt. De specifieke afhankelijkheidseigenschap die is gewijzigd, wordt gerapporteerd in de gebeurtenisgegevens.

(Overgenomen van DependencyObject)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Overschrijft de DependencyObject implementatie van het aanroepen OnPropertyChanged(DependencyPropertyChangedEventArgs) van Changed handlers als reactie op een veranderende afhankelijkheidseigenschap van het typeFreezable.

(Overgenomen van Freezable)
ReadLocalValue(DependencyProperty)

Retourneert de lokale waarde van een afhankelijkheidseigenschap, als deze bestaat.

(Overgenomen van DependencyObject)
ReadPreamble()

Zorgt ervoor dat de Freezable thread wordt geopend vanuit een geldige thread. Overnames van Freezable deze methode moeten aan het begin van een API worden aangeroepen die gegevensleden leest die geen afhankelijkheidseigenschappen zijn.

(Overgenomen van Freezable)
SetCurrentValue(DependencyProperty, Object)

Hiermee stelt u de waarde van een afhankelijkheidseigenschap in zonder de waardebron te wijzigen.

(Overgenomen van DependencyObject)
SetValue(DependencyProperty, Object)

Hiermee stelt u de lokale waarde van een afhankelijkheidseigenschap in, die is opgegeven door de id van de afhankelijkheidseigenschap.

(Overgenomen van DependencyObject)
SetValue(DependencyPropertyKey, Object)

Hiermee stelt u de lokale waarde van een alleen-lezen afhankelijkheidseigenschap in, die is opgegeven door de DependencyPropertyKey id van de afhankelijkheidseigenschap.

(Overgenomen van DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Retourneert een waarde die aangeeft of serialisatieprocessen de waarde voor de opgegeven afhankelijkheidseigenschap moeten serialiseren.

(Overgenomen van DependencyObject)
ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)
VerifyAccess()

Hiermee wordt afgedwongen dat de aanroepende thread toegang heeft tot dit DispatcherObject.

(Overgenomen van DispatcherObject)
WritePostscript()

Hiermee wordt de gebeurtenis voor de Changed gebeurtenis gegenereerd en wordt Freezable de OnChanged() methode aangeroepen. Klassen die zijn afgeleid van Freezable , moeten deze methode aan het einde van een API aanroepen die klasseleden wijzigt die niet zijn opgeslagen als afhankelijkheidseigenschappen.

(Overgenomen van Freezable)
WritePreamble()

Controleert of het Freezable niet is geblokkeerd en of deze wordt geopend vanuit een geldige threadingcontext. Freezable overnemers moeten deze methode aan het begin van een API aanroepen die schrijft naar gegevensleden die geen afhankelijkheidseigenschappen zijn.

(Overgenomen van Freezable)

gebeurtenis

Name Description
Changed

Treedt op wanneer het Freezable object dat het bevat, wordt gewijzigd.

(Overgenomen van Freezable)

Van toepassing op

Zie ook