KeyBinding 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
( KeyGestureRoutedCommand 또는 다른 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
- 상속
- 상속
예제
다음 예제에서는 루트 창의 InputBindingCollection a KeyBinding 를 만들고 추가합니다.
<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)
설명
A KeyBinding 는 . KeyGesture 와 같은 a ICommand와 연결합니다 RoutedCommand. RoutedCommand 는 WPF 명령 시스템에 대한 인터페이스의 ICommand 기본 구현입니다. 일반적으로 명령이 실행될 때 KeyGesture 명령 동작은 값과 같은 명령별 요인에 의해 추가로 영향을 받지만 명령이 CanExecute 호출됩니다. 명령에 대한 자세한 내용은 명령 개요를 참조하세요.
함수 키와 숫자 키패드 키를 제외하고 유효한 KeyGesture 키패드는 정확히 하나 Key 이상의 ModifierKeys키를 포함해야 합니다. 함수 키와 숫자 키패드 키는 유효한 KeyGesture한정자 키가 필요하지 않습니다. XAML 또는 코드를 통해 잘못된 KeyGesture 제스처와 KeyBinding 잘못된 연결된 제스처를 지정할 수 있습니다. 예를 들어 비기능 키만 포함하거나 한정자만 포함하지만 키가 없는 A KeyGesture 를 만들고 바인딩하는 것을 방지하는 유효성 검사는 없습니다. 이러한 작업은 KeyBinding 연결된 명령을 호출하려고 시도하지 않습니다.
XAML(Extensible Application Markup Language)에서 정의 KeyBinding 할 때는 두 가지 방법으로 지정할 KeyGesture수 있습니다. XAML에서 설정하는 KeyBinding 첫 번째 방법은 요소의 KeyBinding 특성을 정의 Gesture 하여 구문에서 키와 한정자를 단일 문자열(예: "Ctrl+P")으로 지정할 수 있도록 하는 것입니다. 두 번째 방법은 요소의 Key 특성과 Modifiers 특성을 정의하는 것입니다 KeyBinding . 두 KeyGesture 가지 설정 방법은 동일하며 동일한 기본 개체를 수정하지만 둘 다 사용되는 경우 충돌이 있습니다. 및 ModifiersGesture 특성이 모두 설정된 경우 Key마지막으로 KeyGesture정의된 특성이 사용됩니다. 예를 들어 Key 마지막 집합이 이전 제스처의 키 구성 요소만 덮어쓰지만 제스처의 한정자는 동일하게 유지되는 상황이 발생할 수 있습니다. 일반적으로 XAML의 Gesture 특성만 사용하는 것이 좋습니다. 이렇게 하면 모호성을 방지하고 가장 간소화된 구문을 제공하며 직렬화를 위한 가장 간단한 표현을 제공합니다.
A는 KeyBinding 특정 개체 또는 클래스 수준에서 클래스에 등록하여 RegisterClassInputBindingCommandManager 정의할 수 있습니다. 가장 일반적인 정의 KeyBinding 방법은 컨트롤 템플릿 내에서 하나 이상의 MouseBindingKeyBinding 요소를 선언하여 XAML에서 속성을 설정하는 InputBindings 것입니다.
생성자
| Name | Description |
|---|---|
| KeyBinding() |
KeyBinding 클래스의 새 인스턴스를 초기화합니다. |
| KeyBinding(ICommand, Key, ModifierKeys) |
지정된 클래스와 지정된 ICommand 인스턴스를 사용하여 클래스의 KeyBinding 새 인스턴스를 초기화합니다.ModifierKeysKeyGestureKey |
| KeyBinding(ICommand, KeyGesture) |
지정된 및 .을 사용하여 클래스의 KeyBinding 새 인스턴스를 ICommand 초기화합니다 KeyGesture. |
필드
| Name | Description |
|---|---|
| KeyProperty |
Key 종속성 속성을 식별합니다. |
| ModifiersProperty |
Modifiers 종속성 속성을 식별합니다. |
속성
| Name | Description |
|---|---|
| CanFreeze |
개체를 수정할 수 없게 만들 수 있는지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 Freezable) |
| Command |
이 입력 바인딩과 연결된 값을 가져오거나 설정합니다 ICommand . (다음에서 상속됨 InputBinding) |
| CommandParameter |
특정 명령에 대한 명령별 데이터를 가져오거나 설정합니다. (다음에서 상속됨 InputBinding) |
| CommandTarget |
명령의 대상 요소를 가져오거나 설정합니다. (다음에서 상속됨 InputBinding) |
| DependencyObjectType |
이 인스턴스의 DependencyObjectType CLR 형식을 래핑하는 값을 가져옵니다. (다음에서 상속됨 DependencyObject) |
| Dispatcher |
연결된 이 값을 DispatcherDispatcherObject 가져옵니다. (다음에서 상속됨 DispatcherObject) |
| Gesture |
이 KeyBinding동작과 연결된 제스처를 가져오거나 설정합니다. |
| IsFrozen |
개체를 현재 수정할 수 있는지 여부를 나타내는 값을 가져옵니다. (다음에서 상속됨 Freezable) |
| IsSealed |
이 인스턴스가 현재 봉인되어 있는지 여부를 나타내는 값을 가져옵니다(읽기 전용). (다음에서 상속됨 DependencyObject) |
| Key |
이 KeyBinding항목과 연결된 값을 KeyGesture 가져오거나 설정합니다Key. |
| Modifiers |
이 KeyBinding항목과 연결된 값을 KeyGesture 가져오거나 설정합니다ModifierKeys. |
메서드
| Name | Description |
|---|---|
| CheckAccess() |
호출 스레드에 이 DispatcherObject액세스 권한이 있는지 여부를 확인합니다. (다음에서 상속됨 DispatcherObject) |
| ClearValue(DependencyProperty) |
속성의 로컬 값을 지웁니다. 지울 속성은 식별자에 의해 DependencyProperty 지정됩니다. (다음에서 상속됨 DependencyObject) |
| ClearValue(DependencyPropertyKey) |
읽기 전용 속성의 로컬 값을 지웁니다. 지울 속성은 .에 DependencyPropertyKey의해 지정됩니다. (다음에서 상속됨 DependencyObject) |
| Clone() |
개체 값의 전체 복사본을 Freezable만드는 수정 가능한 복제본을 만듭니다. 개체의 종속성 속성을 복사할 때 이 메서드는 더 이상 확인되지 않을 수 있는 식을 복사하지만 애니메이션이나 현재 값은 복사하지 않습니다. (다음에서 상속됨 Freezable) |
| CloneCore(Freezable) |
지정된 개체의 속성에 대한 기본(애니메이션이 아닌) 값을 복사합니다. (다음에서 상속됨 InputBinding) |
| CloneCurrentValue() |
현재 값을 사용하는 수정 가능한 클론(전체 복사본) Freezable 을 만듭니다. (다음에서 상속됨 Freezable) |
| CloneCurrentValueCore(Freezable) |
지정된 개체의 속성에 대한 현재 값을 복사합니다. (다음에서 상속됨 InputBinding) |
| CoerceValue(DependencyProperty) |
지정된 종속성 속성의 값을 강제 변환합니다. 이 작업은 호출 CoerceValueCallback시 종속성 속성에 대한 속성 메타데이터에 지정된 함수 DependencyObject 를 호출하여 수행됩니다. (다음에서 상속됨 DependencyObject) |
| CreateInstance() |
Freezable 클래스의 새 인스턴스를 초기화합니다. (다음에서 상속됨 Freezable) |
| CreateInstanceCore() |
의 인스턴스를 KeyBinding만듭니다. |
| Equals(Object) |
제공된 DependencyObject 항목이 현재 DependencyObject와 같은지 여부를 확인합니다. (다음에서 상속됨 DependencyObject) |
| Freeze() |
현재 개체를 수정할 수 없게 만들고 해당 IsFrozen 속성을 .로 |
| FreezeCore(Boolean) |
개체를 Freezable 수정할 수 없게 만들거나 수정할 수 없는 개체를 만들 수 있는지 테스트합니다. (다음에서 상속됨 Freezable) |
| GetAsFrozen() |
기본(애니메이션이 아닌) 속성 값을 사용하여 고정된 복사본 Freezable을 만듭니다. 복사본이 고정되어 있으므로 고정된 하위 개체는 참조로 복사됩니다. (다음에서 상속됨 Freezable) |
| GetAsFrozenCore(Freezable) |
기본(애니메이션이 적용되지 않은) 속성 값을 사용하여 인스턴스를 지정된 Freezable 고정 클론으로 만듭니다. (다음에서 상속됨 InputBinding) |
| GetCurrentValueAsFrozen() |
using 현재 속성 값의 고정 복사본을 Freezable 만듭니다. 복사본이 고정되어 있으므로 고정된 하위 개체는 참조로 복사됩니다. (다음에서 상속됨 Freezable) |
| GetCurrentValueAsFrozenCore(Freezable) |
현재 인스턴스를 지정된 복제본의 고정 클론으로 만듭니다 Freezable. 개체에 애니메이션 종속성 속성이 있는 경우 현재 애니메이션 값이 복사됩니다. (다음에서 상속됨 InputBinding) |
| GetHashCode() |
이에 DependencyObject대한 해시 코드를 가져옵니다. (다음에서 상속됨 DependencyObject) |
| GetLocalValueEnumerator() |
이 DependencyObject속성에 대한 값을 로컬로 설정한 종속성 속성을 결정하기 위한 특수 열거자를 만듭니다. (다음에서 상속됨 DependencyObject) |
| GetType() |
현재 인스턴스의 Type 가져옵니다. (다음에서 상속됨 Object) |
| GetValue(DependencyProperty) |
이 인스턴스 DependencyObject에 대한 종속성 속성의 현재 유효 값을 반환합니다. (다음에서 상속됨 DependencyObject) |
| InvalidateProperty(DependencyProperty) |
지정된 종속성 속성의 유효 값을 다시 평가합니다. (다음에서 상속됨 DependencyObject) |
| MemberwiseClone() |
현재 Object단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
| OnChanged() |
현재 Freezable 개체가 수정될 때 호출됩니다. (다음에서 상속됨 Freezable) |
| OnFreezablePropertyChanged(DependencyObject, DependencyObject, DependencyProperty) |
이 멤버는 WPF(Windows Presentation Foundation) 인프라를 지원하며 코드에서 직접 사용할 수 없습니다. (다음에서 상속됨 Freezable) |
| OnFreezablePropertyChanged(DependencyObject, DependencyObject) |
방금 설정된 데이터 멤버에 대해 적절한 컨텍스트 포인터가 DependencyObjectType 설정되었는지 확인합니다. (다음에서 상속됨 Freezable) |
| OnPropertyChanged(DependencyPropertyChangedEventArgs) |
이에 대한 종속성 속성의 유효 값이 DependencyObject 업데이트될 때마다 호출됩니다. 변경된 특정 종속성 속성은 이벤트 데이터에 보고됩니다. (다음에서 상속됨 DependencyObject) |
| OnPropertyChanged(DependencyPropertyChangedEventArgs) |
형식Freezable의 OnPropertyChanged(DependencyPropertyChangedEventArgs) 변경된 종속성 속성에 대한 응답으로 처리 Changed 기를 호출하는 구현도 재정 DependencyObject 의합니다. (다음에서 상속됨 Freezable) |
| ReadLocalValue(DependencyProperty) |
종속성 속성의 로컬 값(있는 경우)을 반환합니다. (다음에서 상속됨 DependencyObject) |
| ReadPreamble() |
Freezable 유효한 스레드에서 액세스하고 있는지 확인합니다. 상속자는 Freezable 종속성 속성이 아닌 데이터 멤버를 읽는 API의 시작 부분에서 이 메서드를 호출해야 합니다. (다음에서 상속됨 Freezable) |
| SetCurrentValue(DependencyProperty, Object) |
해당 값 원본을 변경하지 않고 종속성 속성의 값을 설정합니다. (다음에서 상속됨 DependencyObject) |
| SetValue(DependencyProperty, Object) |
종속성 속성 식별자에 의해 지정된 종속성 속성의 로컬 값을 설정합니다. (다음에서 상속됨 DependencyObject) |
| SetValue(DependencyPropertyKey, Object) |
종속성 속성의 식별자에 의해 DependencyPropertyKey 지정된 읽기 전용 종속성 속성의 로컬 값을 설정합니다. (다음에서 상속됨 DependencyObject) |
| ShouldSerializeProperty(DependencyProperty) |
serialization 프로세스가 제공된 종속성 속성의 값을 serialize해야 하는지 여부를 나타내는 값을 반환합니다. (다음에서 상속됨 DependencyObject) |
| ToString() |
현재 개체를 나타내는 문자열을 반환합니다. (다음에서 상속됨 Object) |
| VerifyAccess() |
호출 스레드가 이에 DispatcherObject액세스할 수 있도록 합니다. (다음에서 상속됨 DispatcherObject) |
| WritePostscript() |
에 Changed 대한 Freezable 이벤트를 발생시키고 해당 OnChanged() 메서드를 호출합니다. 파생 Freezable 되는 클래스는 종속성 속성으로 저장되지 않은 클래스 멤버를 수정하는 API의 끝에 이 메서드를 호출해야 합니다. (다음에서 상속됨 Freezable) |
| WritePreamble() |
Freezable 고정되지 않고 유효한 스레딩 컨텍스트에서 액세스되고 있는지 확인합니다. Freezable 상속자는 종속성 속성이 아닌 데이터 멤버에 쓰는 API의 시작 부분에서 이 메서드를 호출해야 합니다. (다음에서 상속됨 Freezable) |
이벤트
| Name | Description |
|---|---|
| Changed |
포함된 개체 또는 개체를 수정할 때 Freezable 발생합니다. (다음에서 상속됨 Freezable) |