首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MVVM中Silverlight的热键命令?

MVVM中Silverlight的热键命令?
EN

Stack Overflow用户
提问于 2009-09-25 15:46:45
回答 2查看 6.3K关注 0票数 8

我正在尝试在Silverlight中根据击键来触发命令。据我所知,你不能在Silverlight中使用AccessKey或AcceleratorKey。另外,看起来附加属性InputBindings也不起作用。

我开始寻找其他地方。看起来棱镜是让命令在Silverlight中工作的方法,所以我检查了一下。然而,它们只有一个Click处理程序,这甚至不是设置关键命令的有用起点。

我是不是遗漏了棱镜的某些部分?或者MVVM Silverlight有没有一个很好的处理热键的标准方法?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-09-29 00:41:27

听起来您正在寻找一种“无代码”的MVVMish方法来处理KeyUp/KeyPress/KeyDown事件。

选项#1: Prism.

您已经提到过,只有中附带了Click命令。但是,您可以添加自己的附加DPs来启用任何事件的命令(如KeyUp/KeyDown/KeyPress)。

如果你正在寻找一个例子,Corey有一个很好的ToggleButton.Checked/Unchecked事件。

http://www.85turns.com/2009/06/24/togglebutton-command-for-prism/

代码语言:javascript
复制
<ToggleButton x:Name="ToggleButton1" 
            customCommands:Checked.Command="{Binding CheckedCommand}"
            customCommands:UnChecked.Command="{Binding UnCheckedCommand}"
        Margin="8,8,0,8" Content="Check me"
        />

此外,Erik Mork有一个很好的视频,它给你一个很好的概述命令和如何创建一个自定义命令附加的DP。http://development-guides.silverbaylabs.org/Video/Prism-Commands

选项#2:混合触发器

Expression Blend SDK附带触发器和行为,这些触发器和行为与您正在尝试做的事情密切相关。

Blend Examples codeplex项目附带了一个EventTrigger,您可以使用:

代码语言:javascript
复制
<i:EventTrigger EventName="Click">
      <si:InvokeDataCommand Command="{Binding ShoppingCart.CheckOutCommand}"/>
</i:EventTrigger>

或者,您可以为击键事件创建自己的自定义触发器,并在那里做任何您想做的事情。下面是一个示例:

http://azurecoding.net/blogs/brownie/archive/2009/04/06/blend-behaviors-ftw.aspx

票数 9
EN

Stack Overflow用户

发布于 2009-09-28 16:31:23

你是说像Ctrl+v之类的吗?我在MSDN site上见过下面的例子。

代码语言:javascript
复制
void Canvas_KeyUp(object sender, KeyEventArgs e)
{
    //check for the specific 'v' key, then check modifiers
    if (e.Key==Key.V) { 
        if ((Keyboard.Modifiers & ModifierKeys.Control) == ModifierKeys.Control) {
        //specific Ctrl+V action here
        }
    } // else ignore the keystroke
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1478094

复制
相关文章

相似问题

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