WPF 控件中的标准键盘快捷键
Standard keyboard shortcuts in WPF controls
我对 WPF 控件的所有可用快捷方式列表感兴趣。我主要对 WPF TreeView 控件的标准快捷方式感兴趣(例如 expand/collapse all、select all 等等),但我似乎找不到列出它们的任何位置。是否有特定页面列出了 WPF 控件的可用快捷方式?
我知道一些快捷方式是天真的支持,例如,Ctrl + A 将 select 给定 ListView 中的所有行控制。
我可以定义自己的快捷方式并实现它们的行为。但是,我觉得定义 .NET 框架已经支持的快捷方式并不是一个好的做法,因此需要了解此类支持的快捷方式。
在其他情况下,我通常会使用 Visual Studio 中可用的相同快捷方式,因为它是 WPF 应用程序,但我跳转到此处以获取 WPF 控件中支持的开箱即用快捷方式的更广泛列表。
据我所知,没有受支持的快捷方式的主列表,你是对的,他们通常会从 Windows 中的基本快捷方式继承他们的快捷方式。我以前自己搜索过这个,但一直找不到列表。我在网上看到的其他人也从来没有运气。
所以不幸的答案是:没有,没有列表。
编辑:好的,经过一些挖掘,我能给你的最好的是一个预定义的命令列表,你可以将它们应用于 WPF 中内置的控件。这些分为五类:
- 应用程序命令
- 导航命令
- 组件命令
- 媒体命令
- 编辑命令
他们的文档可以在 MSDN here (an example). Clicking on one of the commands will take you to its individual page which will list their default shortcut like this 上找到,作为其 "Key Gesture" 属性。
您可以像这样将这些默认命令分配给控件:
<Button Command="ApplicationCommands.Cut" CommandTarget="{Binding ElementName=txtEditor}" Width="60">_Cut</Button>
<Button Command="ApplicationCommands.Paste" CommandTarget="{Binding ElementName=txtEditor}" Width="60" Margin="3,0">_Paste</Button>
This 是一个看似非常基础的教程,介绍如何将这些命令绑定到按钮以及其他按钮(代码的来源)。 不会 告诉您默认情况下有哪些命令,但它至少应该能够推断出其中一些命令的键盘快捷键, 无论价值如何。
感谢 psoshmo 指向 MSDN 文章。如果它们都列出来就好了,这样您就不必梳理一堆链接来弄清楚了。所以他们来了。这不是所有命令,只是带有默认键绑定的一次。
应用程序命令:ApplicationCommands
- 上下文菜单:Shift+F10
- 复制:Ctrl+C || Ctrl+Insert
- 剪切:Ctrl+X || Shift+Delete
- 删除:删除
- 查找:Ctrl+F
- 帮助:F1
- 新:Ctrl+N
- 打开:Ctrl+O
- 粘贴:Ctrl+V || Shift+Insert
- 打印:Ctrl+P
- 打印预览:Ctrl+F2
- 属性:F4
- 重做:Ctrl+Y
- 替换:Ctrl+H
- 保存:Ctrl+S
- 全选:Ctrl+A
- 停止:Esc
- 撤消:Ctrl-Z
导航命令:NavigationCommands
- 向后浏览:Alt+左键
- 向前浏览:Alt+右
- 浏览主页:Alt+主页
- 浏览停止:Alt+Esc
- 收藏夹:Ctrl+I
- 刷新:F5
- 搜索:F3
媒体命令:MediaCommands
- None
组件命令:ComponentCommands
- ExtendSelectionDown: Shift+Down
- ExtendSelectionLeft: Shift+Left
- ExtendSelectionRight: Shift+Right
- ExtendSelectionUp: Shift+Up
- 下移:向下
- 向后移动焦点:Ctrl+左键
- 向下移动焦点:Ctrl+向下
- 向前移动焦点:Ctrl+右
- MoveFocusPageDown: Ctrl+PageDown
- MoveFocusPageUp: Ctrl+PageUp
- MoveFocusUp: Ctrl+Up
- 向左移动:向左
- 右移:右移
- 移到终点:终点
- 移动到家:家
- MoveToPageDown: PageDown
- MoveToPageUp: PageUp
- 上移:上移
- ScrollPageDown: PageDown
- ScrollPageUp: PageUp
- SelectToEnd: Shift+End
- SelectToHome:Shift+Home
- SelectToPageDown: Shift+PageDown
- SelectToPageUp: Shift+PageUp
编辑命令:EditingCommands
- 居中对齐:Ctrl+E
- 对齐对齐:Ctrl+J
- 左对齐:Ctrl+L
- 右对齐:Ctrl+R
- 退格键:退格键
- 减少字体大小:Ctrl+OemOpenBrackets
- 减少缩进:Ctrl+Shift+T
- 删除:删除
- 删除下一个字:Ctrl+Delete
- 删除上一个词:Ctrl+Backspace
- EnterLineBreak: Shift+Enter
- EnterParagraphBreak: Enter
- 增加字体大小:Ctrl+OemCloseBrackets
- 增加缩进:Ctrl+T
- MoveDownByLine: 向下
- MoveDownByPage: PageDown
- 按段落向下移动:Ctrl+向下
- 按字符向左移动:向左
- 按字向左移动:Ctrl+左键
- 按字符向右移动:向右
- 按字向右移动:Ctrl+右
- MoveToDocumentEnd: Ctrl+End
- MoveToDocumentStart: Ctrl+Home
- MoveToLineEnd: End
- MoveToLineStart: 首页
- 向上移动:向上
- MoveUpByPage: PageUp
- 按段落上移:Ctrl+Up
- SelectDownByLine: Shift+向下
- SelectDownByPage: Shift+PageDown
- SelectDownByParagraph: Ctrl+Shift+Down
- SelectLeftByCharacter: Shift+Left
- SelectLeftByWord: Ctrl+Shift+Left
- SelectRightByCharacter: Shift+Right
- SelectRightByWord: Ctrl+Shift+右
- SelectToDocumentEnd: Ctrl+Shift+End
- SelectToDocumentStart: Ctrl+Shift+Home
- SelectToLineEnd: Shift+End
- SelectToLineStart: Shift+Home
- SelectUpByLine: Shift+Up
- SelectUpByPage: Shift+PageUp
- SelectUpByParagraph: Ctrl+Shift+Up
- TabBackward: Shift+Tab
- TabForward: Tab
- 切换粗体: Ctrl+B
- 切换项目符号:Ctrl+Shift+L
- 切换插入:插入
- 切换斜体:Ctrl+I
- 切换编号:Ctrl+Shift+N
- 切换下标:Ctrl+OemPlus
- 切换上标:Ctrl+Shift+OemPlus
- 切换下划线:Ctrl+U
2016-01-12 更新:我错过了编辑命令,因为它们在另一个地方被引用。他们的文章还列出了默认的键绑定,可以在 here.
中找到
2018-04-16 更新:添加了编辑命令并添加了链接。
我对 WPF 控件的所有可用快捷方式列表感兴趣。我主要对 WPF TreeView 控件的标准快捷方式感兴趣(例如 expand/collapse all、select all 等等),但我似乎找不到列出它们的任何位置。是否有特定页面列出了 WPF 控件的可用快捷方式?
我知道一些快捷方式是天真的支持,例如,Ctrl + A 将 select 给定 ListView 中的所有行控制。
我可以定义自己的快捷方式并实现它们的行为。但是,我觉得定义 .NET 框架已经支持的快捷方式并不是一个好的做法,因此需要了解此类支持的快捷方式。
在其他情况下,我通常会使用 Visual Studio 中可用的相同快捷方式,因为它是 WPF 应用程序,但我跳转到此处以获取 WPF 控件中支持的开箱即用快捷方式的更广泛列表。
据我所知,没有受支持的快捷方式的主列表,你是对的,他们通常会从 Windows 中的基本快捷方式继承他们的快捷方式。我以前自己搜索过这个,但一直找不到列表。我在网上看到的其他人也从来没有运气。
所以不幸的答案是:没有,没有列表。
编辑:好的,经过一些挖掘,我能给你的最好的是一个预定义的命令列表,你可以将它们应用于 WPF 中内置的控件。这些分为五类:
- 应用程序命令
- 导航命令
- 组件命令
- 媒体命令
- 编辑命令
他们的文档可以在 MSDN here (an example). Clicking on one of the commands will take you to its individual page which will list their default shortcut like this 上找到,作为其 "Key Gesture" 属性。
您可以像这样将这些默认命令分配给控件:
<Button Command="ApplicationCommands.Cut" CommandTarget="{Binding ElementName=txtEditor}" Width="60">_Cut</Button>
<Button Command="ApplicationCommands.Paste" CommandTarget="{Binding ElementName=txtEditor}" Width="60" Margin="3,0">_Paste</Button>
This 是一个看似非常基础的教程,介绍如何将这些命令绑定到按钮以及其他按钮(代码的来源)。 不会 告诉您默认情况下有哪些命令,但它至少应该能够推断出其中一些命令的键盘快捷键, 无论价值如何。
感谢 psoshmo 指向 MSDN 文章。如果它们都列出来就好了,这样您就不必梳理一堆链接来弄清楚了。所以他们来了。这不是所有命令,只是带有默认键绑定的一次。
应用程序命令:ApplicationCommands
- 上下文菜单:Shift+F10
- 复制:Ctrl+C || Ctrl+Insert
- 剪切:Ctrl+X || Shift+Delete
- 删除:删除
- 查找:Ctrl+F
- 帮助:F1
- 新:Ctrl+N
- 打开:Ctrl+O
- 粘贴:Ctrl+V || Shift+Insert
- 打印:Ctrl+P
- 打印预览:Ctrl+F2
- 属性:F4
- 重做:Ctrl+Y
- 替换:Ctrl+H
- 保存:Ctrl+S
- 全选:Ctrl+A
- 停止:Esc
- 撤消:Ctrl-Z
导航命令:NavigationCommands
- 向后浏览:Alt+左键
- 向前浏览:Alt+右
- 浏览主页:Alt+主页
- 浏览停止:Alt+Esc
- 收藏夹:Ctrl+I
- 刷新:F5
- 搜索:F3
媒体命令:MediaCommands
- None
组件命令:ComponentCommands
- ExtendSelectionDown: Shift+Down
- ExtendSelectionLeft: Shift+Left
- ExtendSelectionRight: Shift+Right
- ExtendSelectionUp: Shift+Up
- 下移:向下
- 向后移动焦点:Ctrl+左键
- 向下移动焦点:Ctrl+向下
- 向前移动焦点:Ctrl+右
- MoveFocusPageDown: Ctrl+PageDown
- MoveFocusPageUp: Ctrl+PageUp
- MoveFocusUp: Ctrl+Up
- 向左移动:向左
- 右移:右移
- 移到终点:终点
- 移动到家:家
- MoveToPageDown: PageDown
- MoveToPageUp: PageUp
- 上移:上移
- ScrollPageDown: PageDown
- ScrollPageUp: PageUp
- SelectToEnd: Shift+End
- SelectToHome:Shift+Home
- SelectToPageDown: Shift+PageDown
- SelectToPageUp: Shift+PageUp
编辑命令:EditingCommands
- 居中对齐:Ctrl+E
- 对齐对齐:Ctrl+J
- 左对齐:Ctrl+L
- 右对齐:Ctrl+R
- 退格键:退格键
- 减少字体大小:Ctrl+OemOpenBrackets
- 减少缩进:Ctrl+Shift+T
- 删除:删除
- 删除下一个字:Ctrl+Delete
- 删除上一个词:Ctrl+Backspace
- EnterLineBreak: Shift+Enter
- EnterParagraphBreak: Enter
- 增加字体大小:Ctrl+OemCloseBrackets
- 增加缩进:Ctrl+T
- MoveDownByLine: 向下
- MoveDownByPage: PageDown
- 按段落向下移动:Ctrl+向下
- 按字符向左移动:向左
- 按字向左移动:Ctrl+左键
- 按字符向右移动:向右
- 按字向右移动:Ctrl+右
- MoveToDocumentEnd: Ctrl+End
- MoveToDocumentStart: Ctrl+Home
- MoveToLineEnd: End
- MoveToLineStart: 首页
- 向上移动:向上
- MoveUpByPage: PageUp
- 按段落上移:Ctrl+Up
- SelectDownByLine: Shift+向下
- SelectDownByPage: Shift+PageDown
- SelectDownByParagraph: Ctrl+Shift+Down
- SelectLeftByCharacter: Shift+Left
- SelectLeftByWord: Ctrl+Shift+Left
- SelectRightByCharacter: Shift+Right
- SelectRightByWord: Ctrl+Shift+右
- SelectToDocumentEnd: Ctrl+Shift+End
- SelectToDocumentStart: Ctrl+Shift+Home
- SelectToLineEnd: Shift+End
- SelectToLineStart: Shift+Home
- SelectUpByLine: Shift+Up
- SelectUpByPage: Shift+PageUp
- SelectUpByParagraph: Ctrl+Shift+Up
- TabBackward: Shift+Tab
- TabForward: Tab
- 切换粗体: Ctrl+B
- 切换项目符号:Ctrl+Shift+L
- 切换插入:插入
- 切换斜体:Ctrl+I
- 切换编号:Ctrl+Shift+N
- 切换下标:Ctrl+OemPlus
- 切换上标:Ctrl+Shift+OemPlus
- 切换下划线:Ctrl+U
2016-01-12 更新:我错过了编辑命令,因为它们在另一个地方被引用。他们的文章还列出了默认的键绑定,可以在 here.
中找到2018-04-16 更新:添加了编辑命令并添加了链接。