KeyBinding Klasa

Definicja

Wiąże element z KeyGesture implementacją RoutedCommand (lub inną ICommand ).

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

Przykłady

Poniższy przykład tworzy element KeyBinding i dodaje go do InputBindingCollection okna głównego.

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

Uwagi

Element KeyBinding kojarzy element KeyGesture z elementem ICommand, takim jak RoutedCommand. RoutedCommand jest podstawową implementacją interfejsu ICommand dla systemu poleceń WPF . Ogólnie rzecz biorąc, gdy KeyGesture polecenie jest wykonywane, polecenie jest wywoływane, chociaż zachowanie polecenia jest dodatkowo objęte czynnikami specyficznymi dla polecenia, takimi jak CanExecute wartość. Aby uzyskać więcej informacji na temat poleceń, zobacz Omówienie poleceń.

Z wyjątkiem kluczy funkcji i kluczy klawiatury liczbowej prawidłowy KeyGesture musi zawierać dokładnie jeden Key i co najmniej ModifierKeysjeden . Klucze funkcji i klucze klawiatury liczbowej nie wymagają klucza modyfikującego, aby być prawidłowym KeyGesturekluczem . Istnieje możliwość określenia nieprawidłowego i KeyBinding nieprawidłowego KeyGesture skojarzonego gestu za pomocą kodu XAML lub kodu. Na przykład nie ma weryfikacji, która uniemożliwia tworzenie i powiązanie elementu KeyGesture zawierającego tylko klucz niefunkcyjny lub tylko modyfikatory, ale nie ma klucza. Takie polecenie KeyBinding nigdy nie będzie próbowało wywołać skojarzonego polecenia.

Podczas definiowania w języku KeyBinding XAML (Extensible Application Markup Language) istnieją dwa sposoby określenia elementu KeyGesture. Pierwszym sposobem ustanowienia elementu KeyBinding w języku XAML jest zdefiniowanie Gesture atrybutu KeyBinding elementu, który umożliwia składnię określania kluczy i modyfikatorów jako pojedynczego ciągu, na przykład "CTRL+P". Drugim sposobem jest zdefiniowanie atrybutu Key i Modifiers atrybutów KeyBinding elementu. Oba sposoby ustawiania KeyGesture są równoważne i modyfikują ten sam obiekt bazowy, ale w przypadku użycia obu wystąpi konflikt. W przypadku, gdy Keyatrybuty , Modifiersi Gesture atrybuty są ustawione, atrybut, który jest zdefiniowany ostatni, będzie używany dla .KeyGesture Potencjalnie mogą mieć sytuacje, w których na przykład Key ostatni zestaw zastąpi tylko składnik Klucz poprzedniego gestu, ale pozostaw modyfikatory gestu tak samo. Ogólnie rzecz biorąc, zaleca się użycie tylko atrybutu Gesture z języka XAML. Pozwoli to uniknąć niejednoznaczności, zapewnia najbardziej usprawnioną składnię i zapewnia najprostszą reprezentację serializacji.

Element KeyBinding można zdefiniować na określonym obiekcie lub na poziomie klasy, rejestrując klasę RegisterClassInputBinding w CommandManager klasie. Najbardziej typowy sposób definiowania KeyBinding elementu znajduje się w szablonie kontrolki, ustawiając InputBindings właściwość w języku XAML, deklarując co najmniej MouseBinding jeden element KeyBinding .

Konstruktory

KeyBinding()

Inicjuje nowe wystąpienie klasy KeyBinding.

KeyBinding(ICommand, Key, ModifierKeys)

Inicjuje KeyBinding nowe wystąpienie klasy przy użyciu określonego ICommand i określonego Key i ModifierKeys które zostanie przekonwertowane na .KeyGesture

KeyBinding(ICommand, KeyGesture)

Inicjuje KeyBinding nowe wystąpienie klasy przy użyciu określonej klasy ICommand i KeyGesture.

Pola

KeyProperty

Identyfikuje Key właściwość zależności.

ModifiersProperty

Identyfikuje Modifiers właściwość zależności.

Właściwości

CanFreeze

Pobiera wartość wskazującą, czy obiekt może być niemodyfikowalny.

(Odziedziczone po Freezable)
Command

Pobiera lub ustawia ICommand skojarzone z tym powiązaniem wejściowym.

(Odziedziczone po InputBinding)
CommandParameter

Pobiera lub ustawia dane specyficzne dla polecenia dla określonego polecenia.

(Odziedziczone po InputBinding)
CommandTarget

Pobiera lub ustawia element docelowy polecenia.

(Odziedziczone po InputBinding)
DependencyObjectType

DependencyObjectType Pobiera opakowujący typ clR tego wystąpienia.

(Odziedziczone po DependencyObject)
Dispatcher

Dispatcher Pobiera tę DispatcherObject wartość skojarzona z.

(Odziedziczone po DispatcherObject)
Gesture

Pobiera lub ustawia gest skojarzony z tym KeyBindingelementem .

IsFrozen

Pobiera wartość wskazującą, czy obiekt jest obecnie modyfikowalny.

(Odziedziczone po Freezable)
IsSealed

Pobiera wartość wskazującą, czy to wystąpienie jest obecnie zapieczętowane (tylko do odczytu).

(Odziedziczone po DependencyObject)
Key

Pobiera lub ustawia KeyKeyGesture wartość skojarzona z tym KeyBindingelementem .

Modifiers

Pobiera lub ustawia ModifierKeysKeyGesture wartość skojarzona z tym KeyBindingelementem .

Metody

CheckAccess()

Określa, czy wątek wywołujący ma dostęp do tego DispatcherObjectelementu .

(Odziedziczone po DispatcherObject)
ClearValue(DependencyProperty)

Czyści wartość lokalną właściwości. Właściwość do wyczyszczenia jest określana przez DependencyProperty identyfikator.

(Odziedziczone po DependencyObject)
ClearValue(DependencyPropertyKey)

Czyści wartość lokalną właściwości tylko do odczytu. Właściwość do wyczyszczenia jest określana przez DependencyPropertyKeyelement .

(Odziedziczone po DependencyObject)
Clone()

Tworzy modyfikowalny klon obiektu Freezable, tworząc głębokie kopie wartości obiektu. Podczas kopiowania właściwości zależności obiektu ta metoda kopiuje wyrażenia (które mogą już nie być rozpoznawane), ale nie animacje ani ich bieżące wartości.

(Odziedziczone po Freezable)
CloneCore(Freezable)

Kopiuje podstawowe (nie animowane) wartości właściwości określonego obiektu.

(Odziedziczone po InputBinding)
CloneCurrentValue()

Tworzy modyfikowalny klon (kopię głęboką) Freezable przy użyciu jego bieżących wartości.

(Odziedziczone po Freezable)
CloneCurrentValueCore(Freezable)

Kopiuje bieżące wartości właściwości określonego obiektu.

(Odziedziczone po InputBinding)
CoerceValue(DependencyProperty)

Coerce wartość określonej właściwości zależności. Jest to realizowane przez wywołanie dowolnej CoerceValueCallback funkcji określonej w metadanych właściwości dla właściwości zależności, ponieważ istnieje w wywołaniu DependencyObject.

(Odziedziczone po DependencyObject)
CreateInstance()

Inicjuje nowe wystąpienie klasy Freezable.

(Odziedziczone po Freezable)
CreateInstanceCore()

Tworzy wystąpienie obiektu KeyBinding.

CreateInstanceCore()

Tworzy wystąpienie klasy InputBinding.

(Odziedziczone po InputBinding)
Equals(Object)

Określa, czy podany DependencyObject element jest odpowiednikiem bieżącego DependencyObjectelementu .

(Odziedziczone po DependencyObject)
Freeze()

Sprawia, że bieżący obiekt jest niezmodyfikowalny i ustawia jego IsFrozen właściwość na true.

(Odziedziczone po Freezable)
FreezeCore(Boolean)

Sprawia, Freezable że obiekt jest niezmodyfikowalny lub sprawdza, czy można go niemodyfikować.

(Odziedziczone po Freezable)
GetAsFrozen()

Tworzy zamrożoną kopię obiektu Freezableprzy użyciu wartości właściwości base (nie animowanych). Ponieważ kopia jest zamrożona, wszystkie zamrożone obiekty podrzędne są kopiowane przez odwołanie.

(Odziedziczone po Freezable)
GetAsFrozenCore(Freezable)

Sprawia, że wystąpienie jest zamrożonym klonem określonego Freezable przy użyciu wartości właściwości base (nie animowanych).

(Odziedziczone po InputBinding)
GetCurrentValueAsFrozen()

Tworzy zamrożoną kopię przy użyciu bieżących Freezable wartości właściwości. Ponieważ kopia jest zamrożona, wszystkie zamrożone obiekty podrzędne są kopiowane przez odwołanie.

(Odziedziczone po Freezable)
GetCurrentValueAsFrozenCore(Freezable)

Sprawia, że bieżące wystąpienie jest klonem zamrożonym określonego Freezableobiektu . Jeśli obiekt ma animowane właściwości zależności, są kopiowane ich bieżące animowane wartości.

(Odziedziczone po InputBinding)
GetHashCode()

Pobiera kod skrótu dla tego pliku DependencyObject.

(Odziedziczone po DependencyObject)
GetLocalValueEnumerator()

Tworzy wyspecjalizowany moduł wyliczający do określania, które właściwości zależności mają lokalnie ustawione wartości w tym DependencyObjectelemecie .

(Odziedziczone po DependencyObject)
GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
GetValue(DependencyProperty)

Zwraca bieżącą obowiązującą wartość właściwości zależności dla tego wystąpienia obiektu DependencyObject.

(Odziedziczone po DependencyObject)
InvalidateProperty(DependencyProperty)

Ponownie oblicza efektywną wartość dla określonej właściwości zależności.

(Odziedziczone po DependencyObject)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
OnChanged()

Wywoływana po zmodyfikowaniu bieżącego Freezable obiektu.

(Odziedziczone po Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject)

Zapewnia, że odpowiednie wskaźniki kontekstu są ustanawiane dla DependencyObjectType elementu członkowskiego danych, który został właśnie ustawiony.

(Odziedziczone po Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)

Ten element członkowski obsługuje infrastrukturę Windows Presentation Foundation (WPF) i nie jest przeznaczony do użycia bezpośrednio z kodu.

(Odziedziczone po Freezable)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Wywoływane za każdym razem, gdy obowiązująca wartość dowolnej właściwości zależności została DependencyObject zaktualizowana. Określona właściwość zależności, która uległa zmianie, jest zgłaszana w danych zdarzenia.

(Odziedziczone po DependencyObject)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Zastępuje implementację DependencyObjectOnPropertyChanged(DependencyPropertyChangedEventArgs) metody w celu wywołania wszystkich Changed procedur obsługi w odpowiedzi na zmieniającą się właściwość zależności typu Freezable.

(Odziedziczone po Freezable)
ReadLocalValue(DependencyProperty)

Zwraca wartość lokalną właściwości zależności, jeśli istnieje.

(Odziedziczone po DependencyObject)
ReadPreamble()

Gwarantuje, że dostęp do obiektu Freezable jest uzyskiwany z prawidłowego wątku. Dziedzicze muszą Freezable wywoływać tę metodę na początku dowolnego interfejsu API, który odczytuje elementy członkowskie danych, które nie są właściwościami zależności.

(Odziedziczone po Freezable)
SetCurrentValue(DependencyProperty, Object)

Ustawia wartość właściwości zależności bez zmiany źródła wartości.

(Odziedziczone po DependencyObject)
SetValue(DependencyProperty, Object)

Ustawia wartość lokalną właściwości zależności określonej przez jego identyfikator właściwości zależności.

(Odziedziczone po DependencyObject)
SetValue(DependencyPropertyKey, Object)

Ustawia wartość lokalną właściwości zależności tylko do odczytu określona przez DependencyPropertyKey identyfikator właściwości zależności.

(Odziedziczone po DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Zwraca wartość wskazującą, czy procesy serializacji powinny serializować wartość podanej właściwości zależności.

(Odziedziczone po DependencyObject)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)
VerifyAccess()

Wymusza, że wątek wywołujący ma dostęp do tego DispatcherObjectelementu .

(Odziedziczone po DispatcherObject)
WritePostscript()

Changed Zgłasza zdarzenie dla Freezable metody i wywołuje jej OnChanged() metodę. Klasy pochodzące z Freezable programu powinny wywoływać tę metodę na końcu dowolnego interfejsu API, który modyfikuje składowe klasy, które nie są przechowywane jako właściwości zależności.

(Odziedziczone po Freezable)
WritePreamble()

Sprawdza, czy Freezable element nie jest zamrożony i czy jest uzyskiwany dostęp do niego z prawidłowego kontekstu wątkowego. Freezable dziedzicze powinny wywoływać tę metodę na początku dowolnego interfejsu API, który zapisuje do elementów członkowskich danych, które nie są właściwościami zależności.

(Odziedziczone po Freezable)

Zdarzenia

Changed

Występuje, gdy Freezable obiekt lub, który zawiera, jest modyfikowany.

(Odziedziczone po Freezable)

Dotyczy

Zobacz też