把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
分享到:
相关推荐
4. **自定义样式**:利用WPF的样式和模板机制,为对话框和控件应用Metro风格的皮肤。这包括颜色、字体、边框等视觉元素的调整,确保与整体应用的UI风格保持一致。 5. **封装组件**:将以上代码封装成一个可重用的...
我们将通过分析标题"wpf菜单MenuItem样式经典"和描述"wpf菜单MenuItem样式经典源代码,绝对经典"来揭示实现经典样式的关键技术和步骤。 首先,让我们了解`MenuItem`的基本用法。`MenuItem`是`System.Windows....
在Windows Presentation Foundation (WPF) 中,`MenuItem` 是一个常用控件,用于构建应用程序的菜单系统。这个压缩包文件“经典wpf菜单MenuItem样式1”包含了一个经典的`MenuItem`样式的实现,允许开发者自定义菜单...
WPF中MenuItem原生样式
Pro WPF: Windows Presentation Foundation in .NET 3.0 by Matthew MacDonald
总的来说,要实现“WPF:Metro样式ProgressBar 圆点横向移动 自适应宽度”的功能,你需要掌握WPF的基础知识,包括控件样式和模板、动画以及响应式设计。通过使用MahApps.Metro等第三方库,可以快速实现现代感的界面...
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
在本项目"PopupSamples.7z"中,我们可以期待看到一系列的示例,展示了如何在WPF中创建带有阴影和箭头效果的Popup提示框,这将增强用户交互体验。 **阴影效果**在UI设计中通常用于提供深度感知和视觉层次感。在WPF中...
在“WPF菜单项目测试”中,我们通常会涉及创建、自定义和组织MenuItem以实现丰富的交互体验。下面,我们将深入探讨MenuItem的关键特性、用法以及如何在实际项目中应用。 1. **MenuItem 结构** MenuItem是System....
Windows Presentation Foundation (WPF) Toolkit 是一个由微软提供的开源库,包含了一系列额外的控件和图形功能,旨在扩展.NET Framework 3.5 SP1及更高版本中的WPF功能。这个压缩包包含了WPF Toolkit的源代码,对于...
講師姓名:曹祖聖 * 介紹什麼是 XPS 文件 * 說明如何使用 WPF 來呈現出 XPS 文件 * 介紹如何處理 XPS 文件 適合的聽眾:WPF 初學者 (難度 100)
WPF是微软开发的一个用于构建桌面应用的框架,它提供了丰富的UI设计工具和强大的数据绑定功能。在WPF中,我们可以利用XAML(eXtensible Application Markup Language)来描述UI元素和它们的布局。 **自定义...
Mastering Windows Presentation Foundation Build responsive UIs for desktop applications with WPF, 2nd Edition (Sheridan Yuen)
里面包括了大量WPF动画 包括QQ登录界面翻转动画,XYZ轴圆心动画,电脑管家关闭动画,以及各种3D动画,由于本资源下载次数太多被CSDN上调了积分导致部分网友支付不起积分https://bbs.csdn.net/topics/392261753所以...
WPF中放置了一个三维模型,根据鼠标点击,通过HitTest 和ViewPort3D.FindName()方法获取是模型中的哪一个部分,然后让那个部分进行了一个简单的动画。左侧的textBox显示了点击事件中的一些参数详情。注:程序借鉴了...
WPF提供了样式、模板、触发器、状态管理、矢量形状等方式,让我们不需要背景图片,也可以轻松定制控件的风格样式。代码对Checkbox进行的样式定制,让“正确”绿得好看,让“错误”红的显眼。如果不是很适应自己系统...
在本文中,我们将深入探讨WPF(Windows Presentation Foundation)中的动画和窗体转换技术,这些都是基于.NET Framework的UI设计框架的重要组成部分。WPF提供了一种强大的机制,允许开发者创建丰富的、交互式的用户...