KeyBinding Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Associa un oggetto KeyGesture a un RoutedCommand oggetto (o a un'altra ICommand implementazione).
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
Nell'esempio seguente viene creato un oggetto KeyBinding e viene aggiunto 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 oggetto KeyGesture 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 sui comandi, vedere Panoramica dei comandi.
Ad eccezione dei tasti funzione e del tastierino numerico, un oggetto valido KeyGesture deve contenere esattamente uno Key e uno o più ModifierKeys. I tasti funzione e i tasti 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 funzionale o solo modificatori, ma nessuna chiave. Tale oggetto KeyBinding non tenterà mai di richiamare il comando associato.
Quando si definisce un oggetto KeyBinding in XAML (Extensible Application Markup Language) esistono due modi per specificare .KeyGesture Il primo modo per stabilire un KeyBinding oggetto in XAML consiste nel definire l'attributo Gesture dell'elemento KeyBinding , che consente a una sintassi di specificare chiavi 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 impostare KeyGesture sono equivalenti e modificano lo stesso oggetto sottostante, ma si verifica un conflitto se vengono usati entrambi. Nel caso in cui gli KeyGesture attributi , Modifierse sono tutti impostati, l'attributo definito per ultimo verrà usato per .KeyGesture È possibile che si verifichino situazioni in cui, ad esempio, un'ultima Key impostazione sovrascrive solo il componente Key di un movimento precedente, ma lascia invariati i 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 KeyBinding oggetto è all'interno del modello di controllo, impostando la InputBindings proprietà in XAML dichiarando uno o più MouseBinding elementi.KeyBinding
Costruttori
| Nome | Descrizione |
|---|---|
| KeyBinding() |
Inizializza una nuova istanza della classe KeyBinding. |
| KeyBinding(ICommand, Key, ModifierKeys) |
Inizializza una nuova istanza della KeyBinding classe utilizzando l'oggetto specificato e l'oggetto specificato ICommandKey e ModifierKeys che verrà convertito in un oggetto KeyGesture. |
| KeyBinding(ICommand, KeyGesture) |
Inizializza una nuova istanza della KeyBinding classe utilizzando l'oggetto specificato ICommand e KeyGesture. |
Campi
| Nome | Descrizione |
|---|---|
| KeyProperty |
Identifica la Key proprietà di dipendenza. |
| ModifiersProperty |
Identifica la Modifiers proprietà di dipendenza. |
Proprietà
| Nome | Descrizione |
|---|---|
| CanFreeze |
Ottiene un valore che indica se l'oggetto può essere reso 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 comando specifico. (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 DispatcherDispatcherObject a cui è associato. (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 questa istanza è attualmente sealed (sola lettura). (Ereditato da DependencyObject) |
| Key |
Ottiene o imposta l'oggetto dell'oggetto Key associato all'oggetto KeyGestureKeyBinding. |
| Modifiers |
Ottiene o imposta l'oggetto dell'oggetto ModifierKeys associato all'oggetto KeyGestureKeyBinding. |
Metodi
| Nome | Descrizione |
|---|---|
| CheckAccess() |
Determina se il thread chiamante ha accesso a questo DispatcherObjectoggetto . (Ereditato da DispatcherObject) |
| ClearValue(DependencyProperty) |
Cancella il valore locale di una proprietà. La proprietà da cancellare viene specificata da un DependencyProperty identificatore. (Ereditato da DependencyObject) |
| ClearValue(DependencyPropertyKey) |
Cancella il valore locale di una proprietà di sola lettura. La proprietà da cancellare viene specificata da un oggetto DependencyPropertyKey. (Ereditato da DependencyObject) |
| Clone() |
Crea un clone modificabile dell'oggetto Freezable, eseguendo copie complete dei valori dell'oggetto. Quando si copiano le proprietà di dipendenza dell'oggetto, questo metodo copia le espressioni (che potrebbero non essere più risolte) ma non le animazioni o 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) dell'oggetto Freezable utilizzando i relativi valori correnti. (Ereditato da Freezable) |
| CloneCurrentValueCore(Freezable) |
Copia i valori correnti delle proprietà dell'oggetto specificato. (Ereditato da InputBinding) |
| CoerceValue(DependencyProperty) |
Forza il valore della proprietà di dipendenza specificata. A tale scopo, richiamare qualsiasi CoerceValueCallback funzione specificata nei metadati della proprietà per la proprietà di dipendenza così come esiste nella chiamata DependencyObjectdi . (Ereditato da DependencyObject) |
| CreateInstance() |
Inizializza una nuova istanza della classe Freezable. (Ereditato da Freezable) |
| CreateInstanceCore() |
Crea un'istanza di un oggetto KeyBinding. |
| Equals(Object) |
Determina se un oggetto specificato DependencyObject è equivalente all'oggetto corrente DependencyObject. (Ereditato da DependencyObject) |
| Freeze() |
Rende l'oggetto corrente non modificabile e imposta la relativa IsFrozen proprietà su |
| FreezeCore(Boolean) |
Rende l'oggetto Freezable non modificabile o verifica se può essere reso non modificabile. (Ereditato da Freezable) |
| GetAsFrozen() |
Crea una copia bloccata della proprietà , utilizzando i valori della Freezableproprietà base (non animati). Poiché la copia è bloccata, tutti gli oggetti secondari bloccati vengono copiati in base al riferimento. (Ereditato da Freezable) |
| GetAsFrozenCore(Freezable) |
Rende l'istanza un clone bloccato dell'oggetto specificato Freezable utilizzando valori di proprietà di base (non animati). (Ereditato da InputBinding) |
| GetCurrentValueAsFrozen() |
Crea una copia bloccata dell'oggetto utilizzando i valori correnti delle Freezable proprietà. Poiché la copia è bloccata, tutti gli oggetti secondari bloccati vengono copiati in base al riferimento. (Ereditato da Freezable) |
| GetCurrentValueAsFrozenCore(Freezable) |
Rende l'istanza corrente un clone bloccato dell'oggetto specificato Freezable. 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 quali proprietà di dipendenza hanno valori impostati localmente in questo DependencyObjectoggetto . (Ereditato da DependencyObject) |
| GetType() |
Ottiene il Type dell'istanza corrente. (Ereditato da Object) |
| GetValue(DependencyProperty) |
Restituisce il valore effettivo corrente di una proprietà di dipendenza in questa istanza di un oggetto DependencyObject. (Ereditato da DependencyObject) |
| InvalidateProperty(DependencyProperty) |
Rivaluta il valore effettivo per la proprietà di dipendenza specificata. (Ereditato da DependencyObject) |
| MemberwiseClone() |
Crea una copia superficiale del Objectcorrente. (Ereditato da Object) |
| OnChanged() |
Chiamato quando l'oggetto corrente Freezable viene modificato. (Ereditato da Freezable) |
| OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty) |
Questo membro supporta l'infrastruttura di Windows Presentation Foundation (WPF) e non deve essere usato direttamente dal codice. (Ereditato da Freezable) |
| OnFreezablePropertyChanged(DependencyObject, DependencyObject) |
Assicura che vengano stabiliti puntatori di contesto appropriati per un DependencyObjectType membro dati appena impostato. (Ereditato da Freezable) |
| OnPropertyChanged(DependencyPropertyChangedEventArgs) |
Richiamato ogni volta che il valore effettivo di qualsiasi proprietà di dipendenza in questo DependencyObject oggetto è stato aggiornato. La proprietà di dipendenza specifica modificata viene segnalata nei dati dell'evento. (Ereditato da DependencyObject) |
| OnPropertyChanged(DependencyPropertyChangedEventArgs) |
Esegue l'override dell'implementazione DependencyObject di OnPropertyChanged(DependencyPropertyChangedEventArgs) per richiamare anche i Changed gestori in risposta a una proprietà di dipendenza modificata 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'oggetto Freezable sia accessibile da un thread valido. Gli eredi di Freezable devono chiamare questo metodo all'inizio di qualsiasi API che legge i membri dati che non sono proprietà di dipendenza. (Ereditato da Freezable) |
| SetCurrentValue(DependencyProperty, Object) |
Imposta il valore di una proprietà di dipendenza senza modificarne l'origine del valore. (Ereditato da DependencyObject) |
| SetValue(DependencyProperty, Object) |
Imposta il valore locale di una proprietà di dipendenza, specificato dall'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 per la 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 questo DispatcherObjectoggetto . (Ereditato da DispatcherObject) |
| WritePostscript() |
Genera l'evento Changed per Freezable e richiama il relativo OnChanged() metodo. Le classi che derivano da Freezable devono chiamare questo metodo alla fine di qualsiasi API che modifica i membri della classe non archiviati come proprietà di dipendenza. (Ereditato da Freezable) |
| WritePreamble() |
Verifica che l'oggetto Freezable non sia bloccato e che sia accessibile da un contesto di threading valido. Freezable Gli eredi devono chiamare questo metodo all'inizio di qualsiasi API che scrive nei membri dati che non sono proprietà di dipendenza. (Ereditato da Freezable) |
Eventi
| Nome | Descrizione |
|---|---|
| Changed |
Si verifica quando l'oggetto Freezable o un oggetto che contiene viene modificato. (Ereditato da Freezable) |