我的WPF应用程序中有一个TextBlock
控件。当用户按住shift键并右键双击它时,我想显示一个“复活节彩蛋”。
我在我的应用程序中为静态类添加了RoutedUiCommand
,我已经定义了所有命令。我为我的新命令添加了一个命令绑定:
<UserControl.CommandBindings>
<CommandBinding CanExecute="ShowDiagnostics_CanExecute" Command="cs:CarSystemCommands.ShowDiagnostics" Executed="ShowDiagnostics_Executed" />
</UserControl.CommandBindings>
当我创建RoutedUiCommand
时,我指定MouseGesture
RightDoubleClick
ModifierKey
Shift
。到现在为止还挺好。
如何将命令与TextBlock
相关联?
答案 0 :(得分:2)
您可以使用InputBindings和MouseBinding 这里描述:http://thejoyofcode.com/Invoking_a_Command_on_a_Double_Click_or_other_Mouse_Gesture.aspx
答案 1 :(得分:1)
如何在调用命令的文本块上放置InputBinding?
答案 2 :(得分:0)
我最终做的是将CommandBinding
从UserControl.Resources
移到TextBlock
:
<TextBlock ...>
<TextBlock.CommandBindings>
<CommandBinding CanExecute="ShowDiagnostics_CanExecute" Command="cs:CarSystemCommands.ShowDiagnostics" Executed="ShowDiagnostics_Executed" />
</TextBlock.CommandBindings>
</TextBlock>
现在,直到你按下shift键并且没有任何反应。右键双击TextBlock
。
我给出了其他答案,因为他们也会工作。