首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使silverlight按钮仅响应鼠标

问如何使silverlight按钮仅响应鼠标
EN

Stack Overflow用户
提问于 2011-11-22 01:50:53
回答 2查看 686关注 0票数 1

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

有什么想法吗?

谢谢

EN

回答 2

Stack Overflow用户

发布于 2011-11-22 02:02:35

您可以将IsTabStop属性设置为false,在这种情况下,您将无法使按钮成为焦点,因此它将无法对键盘做出响应。

票数 2
EN

Stack Overflow用户

发布于 2011-11-22 10:18:52

我尝试了一个行为,就像我在AndrewS的帖子中建议的那样,但发现KeyDown事件没有捕获空格或enter事件。您可以在更高级别捕获事件,如果是空格键或enter键,则取消该事件。

XAML:

代码语言:javascript
复制
<StackPanel KeyUp="sp_KeyUp">
  <ToggleButton x:Name="toggleButton" content="toggle me" width="120" height="20"/>
</StackPanel>

代码隐藏:

代码语言:javascript
复制
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
  }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8216170

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档