Share via


KeyBinding Kelas

Definisi

Mengikat KeyGesture ke RoutedCommand (atau implementasi lain 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
Warisan
Warisan

Contoh

Contoh berikut membuat KeyBinding dan menambahkannya ke InputBindingCollection jendela akar.

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

Keterangan

Mengaitkan KeyBindingKeyGesture dengan ICommand, seperti RoutedCommand. RoutedCommand adalah implementasi ICommand utama antarmuka untuk sistem perintah WPF . Secara umum, ketika KeyGesture dijalankan, perintah dipanggil, meskipun perilaku perintah lebih lanjut dipengaruhi oleh faktor-faktor khusus perintah seperti CanExecute nilai . Untuk informasi selengkapnya tentang perintah, lihat Gambaran Umum Perintah.

Dengan pengecualian kunci fungsi dan kunci keypad numerik, yang valid KeyGesture harus berisi tepat satu Key dan satu atau beberapa ModifierKeys. Tombol fungsi dan kunci keypad numerik tidak memerlukan kunci pengubah agar valid KeyGesture. Dimungkinkan untuk menentukan yang tidak valid KeyGesture dan KeyBinding dengan gerakan terkait yang tidak valid, baik melalui XAML atau kode. Misalnya, tidak ada validasi yang mencegah pembuatan dan pengikatan KeyGesture yang hanya berisi kunci nonfungsi, atau hanya pengubah tetapi tidak ada kunci. KeyBinding Seperti itu tidak akan pernah mencoba untuk memanggil perintah terkait.

Saat menentukan KeyBinding dalam Extensible Application Markup Language (XAML) ada dua cara untuk menentukan KeyGesture. Cara pertama untuk menetapkan KeyBinding di XAML adalah dengan menentukan Gesture atribut KeyBinding elemen , yang memungkinkan sintaks untuk menentukan kunci dan pengubah sebagai string tunggal, misalnya "CTRL+P". Cara kedua adalah menentukan Key atribut dan Modifiers atribut KeyBinding elemen . Kedua cara pengaturan KeyGesture setara dan memodifikasi objek yang mendasar yang sama, tetapi akan ada konflik jika keduanya digunakan. Dalam kasus ketika Keyatribut , Modifiers, dan Gesture semuanya diatur, atribut yang didefinisikan terakhir akan digunakan untuk KeyGesture. Anda berpotensi memiliki situasi di mana misalnya set Key terakhir akan menimpa hanya komponen Kunci dari Gerakan sebelumnya tetapi membiarkan pengubah Gesture sama. Secara umum, disarankan agar Anda hanya Gesture menggunakan atribut dari XAML; ini akan menghindari ambiguitas, memberikan sintaks yang paling efisien, dan memberikan representasi yang paling mudah untuk serialisasi.

KeyBinding dapat didefinisikan pada objek tertentu atau di tingkat kelas dengan mendaftarkan RegisterClassInputBinding di CommandManager kelas . Cara paling umum untuk menentukan KeyBinding adalah dalam templat kontrol, mengatur InputBindings properti di XAML dengan mendeklarasikan satu atau beberapa MouseBinding elemen.KeyBinding

Konstruktor

KeyBinding()

Menginisialisasi instans baru kelas KeyBinding.

KeyBinding(ICommand, Key, ModifierKeys)

Menginisialisasi instans KeyBinding baru kelas menggunakan yang ditentukan ICommand dan yang ditentukan Key dan ModifierKeys yang akan dikonversi menjadi KeyGesture.

KeyBinding(ICommand, KeyGesture)

Menginisialisasi instans KeyBinding baru kelas menggunakan yang ditentukan ICommand dan KeyGesture.

Bidang

KeyProperty

Key Mengidentifikasi properti dependensi.

ModifiersProperty

Modifiers Mengidentifikasi properti dependensi.

Properti

CanFreeze

Mendapatkan nilai yang menunjukkan apakah objek dapat dibuat tidak dapat dimodifikasi.

(Diperoleh dari Freezable)
Command

Mendapatkan atau mengatur yang ICommand terkait dengan pengikatan input ini.

(Diperoleh dari InputBinding)
CommandParameter

Mendapatkan atau mengatur data khusus perintah untuk perintah tertentu.

(Diperoleh dari InputBinding)
CommandTarget

Mendapatkan atau mengatur elemen target perintah.

(Diperoleh dari InputBinding)
DependencyObjectType

Mendapatkan yang membungkus jenis CLR instans DependencyObjectType ini.

(Diperoleh dari DependencyObject)
Dispatcher

Mendapatkan ini DispatcherDispatcherObject dikaitkan dengan.

(Diperoleh dari DispatcherObject)
Gesture

Mendapatkan atau mengatur gerakan yang terkait dengan ini KeyBinding.

IsFrozen

Mendapatkan nilai yang menunjukkan apakah objek saat ini dapat dimodifikasi.

(Diperoleh dari Freezable)
IsSealed

Mendapatkan nilai yang menunjukkan apakah instans ini saat ini disegel (baca-saja).

(Diperoleh dari DependencyObject)
Key

Mendapatkan atau mengatur Key dari yang KeyGesture terkait dengan ini KeyBinding.

Modifiers

Mendapatkan atau mengatur ModifierKeys dari yang KeyGesture terkait dengan ini KeyBinding.

Metode

CheckAccess()

Menentukan apakah utas panggilan memiliki akses ke ini DispatcherObject.

(Diperoleh dari DispatcherObject)
ClearValue(DependencyProperty)

Menghapus nilai lokal properti. Properti yang akan dibersihkan ditentukan oleh DependencyProperty pengidentifikasi.

(Diperoleh dari DependencyObject)
ClearValue(DependencyPropertyKey)

Menghapus nilai lokal properti baca-saja. Properti yang akan dibersihkan ditentukan oleh DependencyPropertyKey.

(Diperoleh dari DependencyObject)
Clone()

Membuat klon yang dapat dimodifikasi dari Freezable, membuat salinan mendalam dari nilai objek. Saat menyalin properti dependensi objek, metode ini menyalin ekspresi (yang mungkin tidak lagi diselesaikan) tetapi bukan animasi atau nilainya saat ini.

(Diperoleh dari Freezable)
CloneCore(Freezable)

Menyalin nilai dasar (non-animasi) dari properti objek yang ditentukan.

(Diperoleh dari InputBinding)
CloneCurrentValue()

Membuat kloning yang dapat dimodifikasi (salinan dalam) dari Freezable menggunakan nilainya saat ini.

(Diperoleh dari Freezable)
CloneCurrentValueCore(Freezable)

Menyalin nilai properti objek yang ditentukan saat ini.

(Diperoleh dari InputBinding)
CoerceValue(DependencyProperty)

Memaksakan nilai properti dependensi yang ditentukan. Ini dicapai dengan memanggil fungsi apa pun CoerceValueCallback yang ditentukan dalam metadata properti untuk properti dependensi seperti yang ada pada panggilan DependencyObject.

(Diperoleh dari DependencyObject)
CreateInstance()

Menginisialisasi instans baru kelas Freezable.

(Diperoleh dari Freezable)
CreateInstanceCore()

Membuat instans dari KeyBinding.

CreateInstanceCore()

Membuat instans dari InputBinding.

(Diperoleh dari InputBinding)
Equals(Object)

Menentukan apakah yang disediakan DependencyObject setara dengan saat ini DependencyObject.

(Diperoleh dari DependencyObject)
Freeze()

Membuat objek saat ini tidak dapat dimodifikasi dan mengatur propertinya IsFrozen ke true.

(Diperoleh dari Freezable)
FreezeCore(Boolean)

Freezable Membuat objek tidak dapat dimodifikasi atau menguji apakah dapat dibuat tidak dapat dimodifikasi.

(Diperoleh dari Freezable)
GetAsFrozen()

Membuat salinan beku dari Freezable, menggunakan nilai properti dasar (non-animasi). Karena salinan dibekukan, sub-objek yang dibekukan disalin oleh referensi.

(Diperoleh dari Freezable)
GetAsFrozenCore(Freezable)

Membuat instans menjadi kloning beku dari yang ditentukan Freezable dengan menggunakan nilai properti dasar (non-animasi).

(Diperoleh dari InputBinding)
GetCurrentValueAsFrozen()

Membuat salinan beku dari Freezable menggunakan nilai properti saat ini. Karena salinan dibekukan, sub-objek yang dibekukan disalin oleh referensi.

(Diperoleh dari Freezable)
GetCurrentValueAsFrozenCore(Freezable)

Menjadikan instans saat ini sebagai klon beku dari klon yang ditentukan Freezable. Jika objek memiliki properti dependensi animasi, nilai animasinya saat ini akan disalin.

(Diperoleh dari InputBinding)
GetHashCode()

Mendapatkan kode hash untuk ini DependencyObject.

(Diperoleh dari DependencyObject)
GetLocalValueEnumerator()

Membuat enumerator khusus untuk menentukan properti dependensi mana yang telah mengatur nilai secara lokal pada ini DependencyObject.

(Diperoleh dari DependencyObject)
GetType()

Mendapatkan instans Type saat ini.

(Diperoleh dari Object)
GetValue(DependencyProperty)

Mengembalikan nilai efektif properti dependensi saat ini pada instans ini dari DependencyObject.

(Diperoleh dari DependencyObject)
InvalidateProperty(DependencyProperty)

Mengevaluasi ulang nilai efektif untuk properti dependensi yang ditentukan.

(Diperoleh dari DependencyObject)
MemberwiseClone()

Membuat salinan dangkal dari yang saat ini Object.

(Diperoleh dari Object)
OnChanged()

Dipanggil ketika objek saat ini Freezable dimodifikasi.

(Diperoleh dari Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject)

Memastikan bahwa penunjuk konteks yang sesuai ditetapkan untuk DependencyObjectType anggota data yang baru saja ditetapkan.

(Diperoleh dari Freezable)
OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty)

Anggota ini mendukung infrastruktur Windows Presentation Foundation (WPF) dan tidak dimaksudkan untuk digunakan langsung dari kode Anda.

(Diperoleh dari Freezable)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Dipanggil setiap kali nilai efektif dari properti dependensi apa pun pada ini DependencyObject telah diperbarui. Properti dependensi tertentu yang berubah dilaporkan dalam data peristiwa.

(Diperoleh dari DependencyObject)
OnPropertyChanged(DependencyPropertyChangedEventArgs)

Mengambil alih DependencyObject implementasi OnPropertyChanged(DependencyPropertyChangedEventArgs) untuk juga memanggil handler apa pun Changed sebagai respons terhadap properti dependensi yang berubah dari jenis Freezable.

(Diperoleh dari Freezable)
ReadLocalValue(DependencyProperty)

Mengembalikan nilai lokal properti dependensi, jika ada.

(Diperoleh dari DependencyObject)
ReadPreamble()

Memastikan bahwa Freezable sedang diakses dari utas yang valid. Pewaris Freezable harus memanggil metode ini di awal API apa pun yang membaca anggota data yang bukan properti dependensi.

(Diperoleh dari Freezable)
SetCurrentValue(DependencyProperty, Object)

Mengatur nilai properti dependensi tanpa mengubah sumber nilainya.

(Diperoleh dari DependencyObject)
SetValue(DependencyProperty, Object)

Mengatur nilai lokal properti dependensi, yang ditentukan oleh pengidentifikasi properti dependensinya.

(Diperoleh dari DependencyObject)
SetValue(DependencyPropertyKey, Object)

Mengatur nilai lokal properti dependensi baca-saja, yang ditentukan oleh DependencyPropertyKey pengidentifikasi properti dependensi.

(Diperoleh dari DependencyObject)
ShouldSerializeProperty(DependencyProperty)

Mengembalikan nilai yang menunjukkan apakah proses serialisasi harus membuat serialisasi nilai untuk properti dependensi yang disediakan.

(Diperoleh dari DependencyObject)
ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)
VerifyAccess()

Memberlakukan bahwa utas panggilan memiliki akses ke ini DispatcherObject.

(Diperoleh dari DispatcherObject)
WritePostscript()

Menaikkan Changed peristiwa untuk Freezable dan memanggil metodenya OnChanged() . Kelas yang berasal dari Freezable harus memanggil metode ini di akhir API apa pun yang memodifikasi anggota kelas yang tidak disimpan sebagai properti dependensi.

(Diperoleh dari Freezable)
WritePreamble()

Memverifikasi bahwa Freezable tidak dibekukan dan diakses dari konteks utas yang valid. Freezable pewaris harus memanggil metode ini di awal API apa pun yang menulis ke anggota data yang bukan properti dependensi.

(Diperoleh dari Freezable)

Acara

Changed

Terjadi ketika Freezable atau objek yang dikandungnya dimodifikasi.

(Diperoleh dari Freezable)

Berlaku untuk

Lihat juga