如何使silverlight按钮只响应鼠标

时间:2011-11-21 17:50:53

标签: silverlight events button keyboard

我正在使用切换按钮,我希望它只会因鼠标点击而改变其状态。默认行为是,如果焦点在按钮上,则用户可以按“空格”或“输入”以“点击”它。我想取消这个,但仍然允许按钮像往常一样响应鼠标点击(通过触发点击事件)。

任何想法?

由于

2 个答案:

答案 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
  }
}