我正在使用切换按钮,我希望它只会因鼠标点击而改变其状态。默认行为是,如果焦点在按钮上,则用户可以按“空格”或“输入”以“点击”它。我想取消这个,但仍然允许按钮像往常一样响应鼠标点击(通过触发点击事件)。
任何想法?
由于
答案 0 :(得分:2)
您可以将IsTabStop属性设置为false,在这种情况下,您将无法对按钮进行对焦,因此无法响应键盘。
答案 1 :(得分:1)
我尝试了一个行为,正如我在AndrewS的帖子中提到的那样,但发现KeyDown事件没有捕获空间或输入事件。您可以在更高级别捕获事件,如果是空格或输入密钥则取消它。
XAML:
<StackPanel KeyUp="sp_KeyUp">
<ToggleButton x:Name="toggleButton" content="toggle me" width="120" height="20"/>
</StackPanel>
代码背后:
public void sp_KeyUp(object sender, KeyBoardEventArgs e)
{
if(e.Key == System.Windows.Input.Key.Enter || e.Key == System.Windows.Input.Key.Space)
{
e.Handled = true; // this should cancel the event
}
}