把RoutedUICommand放在MenuItem上简直就是太方便了。菜单项的快捷键(MenuItem.InputGestureText属性)会自动显示,而且菜单项的显示文字(MenuItem.Header属性)是RoutedUICommand.Text而不是Name属性。而相比其他命令源(ICommandSource接口),Button类型和Hyperlink类型就没这么方便了。
比如注册一个自定义的RoutedUICommand,Name是MyCommand,Text是我的命令,快捷键是Ctrl+Shift+M,下面命令注册代码:
public class MyCommands
{
public static RoutedUICommand MyCommand =
new RoutedUICommand("我的命令",
"MyCommand",
typeof(MyCommands),
new InputGestureCollection(new InputGesture[] { new KeyGesture(Key.M, ModifierKeys.Control | ModifierKeys.Shift) }));
}
XAML:
<StackPanel xmlns:loc="clr-namespace:Mgen_WPF">
<Menu>
<MenuItem Header="菜单">
<MenuItem Command="{x:Static loc:MyCommands.MyCommand}"/>
</MenuItem>
</Menu>
<Button Command="{x:Static loc:MyCommands.MyCommand}"/>
<TextBlock>
<Hyperlink Command="{x:Static loc:MyCommands.MyCommand}"/>
</TextBlock>
</StackPanel>
结果,Button和Hyperlink的内容都不会自动出现:
而菜单项却显示得很完整:
RouteUICommand.Text会对应MenuItem.Header。
RoutedUICommand.InputGestures会对应MenuItem.InputGestureText。
不过默认对应的InputGestureText可能不适合中文,比如这样定义KeyGesture:
new KeyGesture(Key.Enter, ModifierKeys.Control | ModifierKeys.Shift) }
结果会显示Return(英文中的回车):
此时可以修改KeyGesture的DisplayString属性:
new KeyGesture(Key.Enter, ModifierKeys.Control | ModifierKeys.Shift, "Ctrl + Shift + 回车")
结果:
:D
作者:Mgen
出处:www.cnblogs.com/mgen
原文:http://www.cnblogs.com/mgen/archive/2012/01/19/2327631.html
- 大小: 8.3 KB
- 大小: 12.2 KB
- 大小: 4.7 KB
- 大小: 4.4 KB
分享到:
相关推荐
WPF:自定义Metro样式文件夹选择对话框FolderBrowserDialog
wpf菜单MenuItem样式经典源代码,绝对经典,
WPF:TabItem的Header拉伸的TabControl
WPF:Metro样式ProgressBar 圆点横向移动 自适应宽度
WPF:完美自定义MeaagseBox 动画 反弹 背景模糊 扁平化
Pro WPF: Windows Presentation Foundation in .NET 3.0 by Matthew MacDonald
WPF:把一个进程当成控件加载到界面中.rar
Foundations of WPF: An Introduction to Windows Presentation Foundation by Laurence Moroney
Pro WPF: Windows Presentation Foundation in .NET 3.0 by Matthew MacDonald
Pro WPF: Windows Presentation Foundation in .NET 3.0 by Matthew MacDonald
WPF中MenuItem原生样式
講師姓名:曹祖聖 * 介紹什麼是 XPS 文件 * 說明如何使用 WPF 來呈現出 XPS 文件 * 介紹如何處理 XPS 文件 適合的聽眾:WPF 初學者 (難度 100)
里面包括了大量WPF动画 包括QQ登录界面翻转动画,XYZ轴圆心动画,电脑管家关闭动画,以及各种3D动画,由于本资源下载次数太多被CSDN上调了积分导致部分网友支付不起积分https://bbs.csdn.net/topics/392261753所以...
Mastering Windows Presentation Foundation Build responsive UIs for desktop applications with WPF, 2nd Edition (Sheridan Yuen)
PopupSamples.7z
可以灵活的实现 缩放 移动功能· 希望能帮助到大家
wpf菜单MenuItem样式经典源代码,绝对经典,颜色根据自己需要修改
WPF中放置了一个三维模型,根据鼠标点击,通过HitTest 和ViewPort3D.FindName()方法获取是模型中的哪一个部分,然后让那个部分进行了一个简单的动画。左侧的textBox显示了点击事件中的一些参数详情。注:程序借鉴了...
使用System.Windows.Controls.Toolkit.dll做开发的,可以研究一下toolkit的源码,可以自己封装所需要的控件