에 초점에도 불구하고 발사 명령.WPF는 감안할 때 윈폼의 텍스트 상자
WinFormsTextBox
에 대해 WpfTextBox
의 동작을 사용하고 싶습니다. 나는. 명령은 아무 것도 초점이 없을 때만 발동해야합니다. 전역보기 명령 또는 그와 비슷한 방식으로 작동해야합니다.
참고 :에 일어나는 것을 방지 하나로 명령의 CanExecute
이벤트에만 보조에 대한 처리기를 추가하기 WinFormsTextBox
(Ctrl 키 + e.CanExecute
이 true
로 설정되어있는 경우 완전히 삼킨 X- 텍스트가 절단되지 않습니다 의미) , 또는 정상적으로 수행됩니다.
참고 2 : 잘라 내기가 하나의 예일 뿐이므로 모든 명령 바인딩에 사용할 수있는 솔루션이 필요합니다.
참고 3 : 명령에 포커스가있는 경우 ListView 등의 다른 컨트롤에서 명령을 실행할 수 있어야합니다. 내부에 포커스가있는 TextBox가 없다면 (편집 모드로 생각하십시오).
실제로 수행 할 수있는 것이 확실하지 않지만 CommandBinding_Executed
메서드에서 특정 처리를 추가하지 않아도됩니다. 하지만 C'est la vie.
두 개의 텍스트 상자에서 명령을 실행하지 않으려합니다. TextBox 외부에있을 때 발생합니다. 죄송합니다. 예제가 약간 오도 된 것을 보았습니다. 편집하려고 시도합니다. – Locdarb
내 최종 목표는 논리적으로 코드로 정의 된 명령에 대한 컨텍스트를 표시하는 것입니다.하지만 명령이 수행 할 작업과 수행 할 작업을 표시하거나 알려주는 일종의 adorner UI가 있습니다. 그 대답의 일반성에 대해 유감스럽게 생각하지만, 나는 당신이 내가하려고하는 것을 볼 수 있도록 도와 줄 수 있기를 바랍니다. CommanBindings 또는 WinForms를 사용하여 포기해야 할 수도 있습니다. – Locdarb
글쎄, 특정 UI 범위 내에서 명령을 활성화하고 싶지만이 범위 내의 특정 컨트롤에서 명령을 처리하지 않으려한다는 것을 알고 있습니다. 그것이 당신이 정말로 원하는 것이라면, 조금 복잡합니다. CommandBinding은 UI 범위에서 명령을 전역 적으로 활성화하려는 경우 사용할 수있는 방법입니다. 또한이 문제는 WinForms와 관련이 없습니다. 여기서 WPF 명령 체계에 대해 자세히 살펴보고이 문제가 정상적인 이유를 이해할 것을 제안합니다. – Ucodia