Condividi tramite


KeyBinding Classe

Definizione

Associa un oggetto KeyGesture a un oggetto RoutedCommand (o a un'altra implementazione 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
Ereditarietà
Ereditarietà

Esempio

L'esempio seguente crea un oggetto KeyBinding e lo aggiunge all'oggetto InputBindingCollection della finestra radice.

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

Commenti

Un KeyBinding oggetto associa un KeyGesture oggetto a un ICommandoggetto , ad esempio un oggetto RoutedCommand. RoutedCommand è l'implementazione principale dell'interfaccia ICommand per il sistema di comandi WPF. In generale, quando KeyGesture viene eseguito il comando viene richiamato, anche se il comportamento del comando è ulteriormente influenzato da fattori specifici del comando, ad esempio il CanExecute valore . Per altre informazioni sul comando, vedere Panoramica dei comandi.

Ad eccezione dei tasti funzione e del tastierino numerico, un valore valido KeyGesture deve contenere esattamente uno Key e uno o più ModifierKeys. I tasti funzione e i tasti del tastierino numerico non richiedono un tasto di modifica per essere un valore valido KeyGesture. È possibile specificare un oggetto non valido e un KeyBinding oggetto con un movimento associato non validoKeyGesture, tramite XAML o codice. Ad esempio, non esiste alcuna convalida che impedisce la creazione e l'associazione di un oggetto KeyGesture che contiene solo una chiave non funzionante o solo modificatori ma nessuna chiave. Tale oggetto KeyBinding non tenterà mai di richiamare il comando associato.

Quando si definisce un KeyBinding in XAML (Extensible Application Markup Language) esistono due modi per specificare KeyGesture. Il primo modo per stabilire un KeyBinding in XAML consiste nel definire l'attributo Gesture dell'elemento KeyBinding , che consente a una sintassi di specificare tasti e modificatori come singola stringa, ad esempio "CTRL+P". Il secondo modo consiste nel definire l'attributo Key e gli Modifiers attributi dell'elemento KeyBinding . Entrambi i modi di impostazione KeyGesture di sono equivalenti e modificano lo stesso oggetto sottostante, ma si verifica un conflitto se vengono usati entrambi. Nel caso in cui gli Keyattributi , Modifierse Gesture sono tutti impostati, l'attributo definito per ultimo verrà usato per .KeyGesture È possibile che si verifichino situazioni in cui, ad esempio, un Key set sovrascrive solo il componente Key di un movimento precedente, ma lascia gli stessi modificatori del movimento. In generale, è consigliabile usare solo l'attributo Gesture da XAML, evitando ambiguità, fornisce la sintassi più semplificata e fornisce la rappresentazione più semplice per la serializzazione.

Un KeyBinding oggetto può essere definito in un oggetto specifico o a livello di classe registrando un oggetto RegisterClassInputBinding nella CommandManager classe . Il modo più tipico per definire un oggetto KeyBinding è all'interno del modello di controllo, impostando la InputBindings proprietà in XAML dichiarando uno o più MouseBinding elementi.KeyBinding

Costruttori

KeyBinding()

Inizializza una nuova istanza della classe KeyBinding.

KeyBinding(ICommand, Key, ModifierKeys)

Inizializza una nuova istanza della classe KeyBinding mediante gli oggetti ICommand e Key specificati e ModifierKeys che verrà convertito in KeyGesture.

KeyBinding(ICommand, KeyGesture)

Inizializza una nuova istanza della classe KeyBinding utilizzando gli oggetti ICommand e KeyGesture specificati.

Campi

KeyProperty

Identifica la proprietà di dipendenza Key.

ModifiersProperty

Identifica la proprietà di dipendenza Modifiers.

Proprietà

CanFreeze

Ottiene un valore che indica se l'oggetto può essere impostato come non modificabile.

(Ereditato da Freezable)
Command

Ottiene o imposta l'oggetto ICommand associato a questa associazione di input.

(Ereditato da InputBinding)
CommandParameter

Ottiene o imposta i dati specifici del comando per un particolare comando.

(Ereditato da InputBinding)
CommandTarget

Ottiene o imposta l'elemento di destinazione del comando.

(Ereditato da InputBinding)
DependencyObjectType

Ottiene l'oggetto DependencyObjectType che esegue il wrapping del tipo CLR di questa istanza.

(Ereditato da DependencyObject)
Dispatcher

Ottiene l'oggetto Dispatcher associato a DispatcherObject.

(Ereditato da DispatcherObject)
Gesture

Ottiene o imposta il movimento associato all'oggetto KeyBinding.

IsFrozen

Ottiene un valore che indica se l'oggetto è attualmente modificabile.

(Ereditato da Freezable)
IsSealed

Ottiene un valore che indica se l'istanza è attualmente sealed (di sola lettura).

(Ereditato da DependencyObject)
Key

Ottiene o imposta l'oggetto Key dell'oggetto KeyGesture associato all'oggetto KeyBinding.

Modifiers

Ottiene o imposta l'oggetto ModifierKeys dell'oggetto KeyGesture associato all'oggetto KeyBinding.

Metodi

CheckAccess()

Determina se il thread chiamante ha accesso a DispatcherObject.

(Ereditato da DispatcherObject)
ClearValue(DependencyProperty)

Cancella il valore locale di una proprietà. La proprietà da cancellare è specificata da un identificatore DependencyProperty.

(Ereditato da DependencyObject)
ClearValue(DependencyPropertyKey)

Cancella il valore locale di una proprietà di sola lettura. La proprietà da cancellare è specificata da un oggetto DependencyPropertyKey.

(Ereditato da DependencyObject)
Clone()

Crea un clone modificabile dell'oggetto Freezable, eseguendo copie complete dei valori dell'oggetto. Durante la copia delle proprietà di dipendenza di questo oggetto, questo metodo copia le espressioni (che potrebbero non essere più risolte), ma non le animazioni né i relativi valori correnti.

(Ereditato da Freezable)
CloneCore(Freezable)

Copia i valori di base (non animati) delle proprietà dell'oggetto specificato.

(Ereditato da InputBinding)
CloneCurrentValue()

Crea un clone modificabile (copia completa) di Freezable utilizzando i valori correnti.

(Ereditato da Freezable)
CloneCurrentValueCore(Freezable)

Copia i valori correnti delle proprietà dell'oggetto specificato.

(Ereditato da InputBinding)
CoerceValue(DependencyProperty)

Assegna forzatamente il valore della proprietà di dipendenza specificata. Questa operazione viene eseguita richiamando qualsiasi funzione CoerceValueCallback specificata nei metadati della proprietà di dipendenza esistente nell'oggetto DependencyObject chiamante.

(Ereditato da DependencyObject)
CreateInstance()

Inizializza una nuova istanza della classe Freezable.

(Ereditato da Freezable)
CreateInstanceCore()

Crea un'istanza di un oggetto KeyBinding.

CreateInstanceCore()

Crea un'istanza di un oggetto InputBinding.

(Ereditato da InputBinding)
Equals(Object)

Determina se l'oggetto DependencyObject specificato equivale all'oggetto DependencyObject corrente.

(Ereditato da DependencyObject)
Freeze()

Rende non modificabile l'oggetto corrente e ne imposta la proprietà IsFrozen su true.

(Ereditato da Freezable)
FreezeCore(Boolean)

Rende immodificabile l'oggetto Freezable o verifica se può essere reso immodificabile.

(Ereditato da Freezable)
GetAsFrozen()

Crea una copia bloccata di Freezable, utilizzando valori delle proprietà di base (non-animati). Dato che la copia è bloccata, gli oggetti secondari bloccati sono copiati dal riferimento.

(Ereditato da Freezable)
GetAsFrozenCore(Freezable)

Rende l'istanza un duplicato bloccato dell'oggetto Freezable specificato utilizzando i valori di base (non-animati) delle proprietà.

(Ereditato da InputBinding)
GetCurrentValueAsFrozen()

Crea una copia bloccata di Freezable utilizzando valori della proprietà correnti. Dato che la copia è bloccata, gli oggetti secondari bloccati sono copiati dal riferimento.

(Ereditato da Freezable)
GetCurrentValueAsFrozenCore(Freezable)

Rende l'istanza corrente un clone bloccato dell'oggetto Freezable specificato. Se l'oggetto ha proprietà di dipendenza animate, i valori animati correnti vengono copiati.

(Ereditato da InputBinding)
GetHashCode()

Ottiene un codice hash per l'oggetto DependencyObject.

(Ereditato da DependencyObject)
GetLocalValueEnumerator()

Crea un enumeratore specializzato per determinare le proprietà di dipendenza che presentano valori impostati localmente nell'oggetto DependencyObject.

(Ereditato da DependencyObject)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
GetValue(DependencyProperty)

Restituisce il valore effettivo corrente di una proprietà di dipendenza in questa istanza di DependencyObject.

(Ereditato da DependencyObject)
InvalidateProperty(DependencyProperty)

Valuta di nuovo il valore effettivo della proprietà di dipendenza specificata.

(Ereditato da DependencyObject)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
OnChanged()

Chiamato quando viene modificato l'oggetto Freezable corrente.

(Ereditato da Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject)

Assicura che adatti puntatori del contesto siano stabiliti per un membro dati DependencyObjectType che è appena stato impostato.

(Ereditato da Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)

Questo membro supporta l'infrastruttura Windows Presentation Foundation (WPF) e non deve essere usato direttamente dal codice.

(Ereditato da Freezable)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Richiamato ogni volta che viene aggiornato il valore effettivo di qualsiasi proprietà di dipendenza in DependencyObject. La proprietà di dipendenza specifica modificata viene indicata nei dati dell'evento.

(Ereditato da DependencyObject)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Esegue l'override dell'implementazione di DependencyObject di OnPropertyChanged(DependencyPropertyChangedEventArgs) per richiamare anche eventuali gestori Changed in risposta alla modifica di una proprietà di dipendenza di tipo Freezable.

(Ereditato da Freezable)
ReadLocalValue(DependencyProperty)

Restituisce il valore locale di una proprietà di dipendenza, se esistente.

(Ereditato da DependencyObject)
ReadPreamble()

Assicura che l’accesso di Freezable sia stato eseguito da un thread valido. Gli eredi di Freezable devono chiamare questo metodo all'inizio di qualsiasi API che legge i membri dei dati che non sono proprietà della dipendenza.

(Ereditato da Freezable)
SetCurrentValue(DependencyProperty, Object)

Imposta il valore di una proprietà di dipendenza senza modificare l'origine del valore.

(Ereditato da DependencyObject)
SetValue(DependencyProperty, Object)

Imposta il valore locale di una proprietà di dipendenza, specificato dal relativo identificatore della proprietà di dipendenza.

(Ereditato da DependencyObject)
SetValue(DependencyPropertyKey, Object)

Imposta il valore locale di una proprietà di dipendenza di sola lettura, specificato dall'identificatore DependencyPropertyKey della proprietà di dipendenza.

(Ereditato da DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Restituisce un valore che indica se i processi di serializzazione devono serializzare il valore della proprietà di dipendenza specificata.

(Ereditato da DependencyObject)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
VerifyAccess()

Impone che il thread chiamante abbia accesso a DispatcherObject.

(Ereditato da DispatcherObject)
WritePostscript()

Genera l'evento Changed per Freezable e richiama il metodo OnChanged(). Le classi che derivano da Freezable devono chiamare questo metodo alla fine di qualsiasi API che modifica i membri di classe che non sono archiviati come proprietà di dipendenza.

(Ereditato da Freezable)
WritePreamble()

Verifica che l'oggetto Freezable non sia bloccato e che l'accesso sia eseguito da un contesto di threading valido. Gli eredi di Freezable devono chiamare questo metodo all'inizio di qualsiasi API che scrive sui membri dei dati che non sono proprietà della dipendenza.

(Ereditato da Freezable)

Eventi

Changed

Si verifica quando Freezable o un oggetto che contiene è modificato.

(Ereditato da Freezable)

Si applica a

Vedi anche