基本上我想Enter
给Space
一样的行为PreviewKeyDown
。我面临的第一个问题是,当按住按钮时,按钮会继续发射。我通过监听IsRepeat
并在Trigger
属性为真时将其标记为已处理来解决这个问题。
我无法理解的第二个问题是,使用IsPressed
的{{1}}在按Enter
后不会消失。这是触发器。
<Trigger Property="IsPressed"
Value="True">
<Setter TargetName="Background"
Property="Background"
Value="{DynamicResource ButtonPressedBrush}" />
</Trigger>
Enter
有点特别吗?单击该按钮,但触发器未激活。
答案 0 :(得分:1)
符合this:
IsPressed是一个按钮的状态,表示鼠标左键或按钮上的空格键。当IsPressed为true时,控件捕获鼠标。因此,该控件将引发鼠标事件,如MouseEnter和IsMouseDirectlyOverChanged。请注意,使用AccessText或ENTER不会更改IsPressed或捕获鼠标,但确实会引发Click事件。
即,您的控件的行为是正常的。
我不建议你改变它,但如果你愿意,你应该:
希望,这有帮助