ApplicationCommands 그들이 RoutedUICommands에 따라 FocusScope 줄 것이다 도구 모음 또는 메뉴에있는 것으로 기대하고있다. 당신의 버튼을 도구 모음 또는 메뉴를 벗어나면, 당신은 명시 적으로 초점 범위를 선언 할 필요가 다음 CommandTarget은 복사 버튼 만 때마다 활성화됩니다 것을 의미 FocusScope를 제공하는 요소를 선언하는 데 사용됩니다
<Button
Content="{Binding RelativeSource={RelativeSource Self}, Path=Command.Text}"
Command="ApplicationCommands.Copy"
FocusManager.IsFocusScope="True"/>
CommandTarget에 선언 된 요소가 포커스를 가지고 있으며, 사본의 경우, 텍스트를 강조 있습니다
가 특정 질문에 대한 대답에서
<Button
Content="{Binding RelativeSource={RelativeSource Self}, Path=Command.Text}"
Command="ApplicationCommands.Copy"
CommandTarget="{Binding ElementName=MyElement}" />
, 당신이 얻을 수있는 ApplicationCommands.Copy 명령을 차단해야 할 것입니다 설정/ViewModel의 MyStringProperty; 그리고 솔직히 말해서, 나는 그 중 하나를 이해하기 시작해야할지 모르겠다. 어쩌면 여기서 더 똑똑한 사람이 퍼즐 조각을 제공 할 수 있습니다.
설명해 주셔서 감사합니다. 여러분이 말하는 것을 바탕으로, 버튼을 묶는 ICommand를 사용하여 코드를 통해 처리하는 것이 더 쉽습니다. –
그렇게 생각하지 마십시오. Xaml에서는 훨씬 더 깨끗합니다. –