WPF控件中的标准键盘快捷键

时间:2015-07-13 14:54:23

标签: c# wpf keyboard-shortcuts

我对WPF控件的所有可用快捷方式列表感兴趣。我主要对WPF TreeView控件的标准快捷方式感兴趣(例如,展开/折叠全部,全部选择等等),但我似乎无法找到列出它们的任何位置。是否有特定的页面列出了WPF控件的可用快捷方式?

我知道天真地支持一些快捷方式,例如 Ctrl + A 将选择给定ListView控件中的所有行。

我可以定义自己的快捷方式并实现他们的行为。但是,我认为定义.NET框架已经支持的快捷方式并因此需要了解这些受支持的快捷方式不是一个好习惯。

在其他情况下,我通常使用Visual Studio中可用的相同快捷方式,因为它是WPF应用程序,但我在这里跳转到WPF控件中更广泛的开箱即用支持的快捷方式列表。

2 个答案:

答案 0 :(得分:3)

感谢psoshmo指向MSDN文章。如果它们全部列出来都很好,所以你不必梳理一堆链接就可以搞清楚。所以他们在这里。这不是所有命令,只是默认键绑定的一次。

  • 应用程序命令:ApplicationCommands

    • ContextMenu: Shift + F10
    • 复制: Ctrl + C || 控制+插入
    • 剪切: Ctrl + X || 切换+删除
    • 删除: Del
    • 查找: Ctrl + F
    • 帮助: F1
    • 新: Ctrl + N
    • 打开: Ctrl + O
    • 粘贴: Ctrl + V || 切换+插入
    • 打印: Ctrl + P
    • PrintPreview: Ctrl + F2
    • 属性: F4
    • 重做: Ctrl + Y
    • 替换: Ctrl + H
    • 保存: Ctrl + S
    • SelectAll: Ctrl + A
    • 停止: Esc
    • 撤消: Ctrl-Z
  • 导航命令:NavigationCommands

    • BrowseBack: Alt + Left
    • BrowseForward: Alt + Right
    • BrowseHome: Alt + Home
    • BrowseStop: Alt + Esc
    • 收藏夹: Ctrl + I
    • 刷新: F5
    • 搜寻: F3
  • 媒体命令:MediaCommands

  • 组件命令:ComponentCommands

    • ExtendSelectionDown: Shift + Down
    • ExtendSelectionLeft: Shift + Left
    • ExtendSelectionRight: Shift + Right
    • ExtendSelectionUp: Shift + Up
    • MoveDown: Down
    • MoveFocusBack: Ctrl + Left
    • MoveFocusDown: Ctrl + Down
    • MoveFocusForward: Ctrl + Right
    • MoveFocusPageDown: Ctrl + PageDown
    • MoveFocusPageUp: Ctrl + PageUp
    • MoveFocusUp: Ctrl + Up
    • MoveLeft: Left
    • MoveRight: Right
    • MoveToEnd:结束
    • MoveToHome: Home
    • MoveToPageDown: PageDown
    • MoveToPageUp: PageUp
    • MoveUp: Up
    • ScrollPageDown: PageDown
    • ScrollPageUp: PageUp
    • SelectToEnd: Shift + End
    • SelectToHome: Shift + Home
    • SelectToPageDown: Shift + PageDown
    • SelectToPageUp: Shift + PageUp
  • 编辑命令:EditingCommands

    • AlignCenter: Ctrl + E
    • AlignJustify: Ctrl + J
    • AlignLeft: Ctrl + L
    • AlignRight: Ctrl + R
    • 退格: Backspace
    • DecreaseFontSize: Ctrl + OemOpenBrackets
    • DecreaseIndentation: Ctrl + Shift + T
    • 删除:删除
    • DeleteNextWord: Ctrl + Delete
    • DeletePreviousWord: Ctrl + Backspace
    • EnterLineBreak: Shift + Enter
    • EnterParagraphBreak:输入
    • IncreaseFontSize: Ctrl + OemCloseBrackets
    • IncreaseIndentation: Ctrl + T
    • MoveDownByLine: Down
    • MoveDownByPage: PageDown
    • MoveDownByParagraph: Ctrl + Down
    • MoveLeftByCharacter: Left
    • MoveLeftByWord: Ctrl + Left
    • MoveRightByCharacter: Right
    • MoveRightByWord: Ctrl + Right
    • MoveToDocumentEnd: Ctrl + End
    • MoveToDocumentStart: Ctrl + Home
    • MoveToLineEnd:结束
    • MoveToLineStart:主页
    • MoveUpByLine: Up
    • MoveUpByPage: PageUp
    • MoveUpByParagraph: Ctrl + Up
    • SelectDownByLine: Shift + Down
    • SelectDownByPage: Shift + PageDown
    • SelectDownByParagraph: Ctrl + Shift + Down
    • SelectLeftByCharacter: Shift + Left
    • SelectLeftByWord: Ctrl + Shift + Left
    • SelectRightByCharacter: Shift + Right
    • SelectRightByWord: Ctrl + Shift + Right
    • 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
    • ToggleBold: Ctrl + B
    • ToggleBullets: Ctrl + Shift + L
    • ToggleInsert: Insert
    • ToggleItalic: Ctrl + I
    • ToggleNumbering: Ctrl + Shift + N
    • ToggleSubscript: Ctrl + OemPlus
    • ToggleSuperscript: Ctrl + Shift + OemPlus
    • ToggleUnderline: Ctrl + U

更新2016-01-12:我错过了编辑命令,因为它们在另一个地方被引用。他们的文章还列出了默认的键绑定,可以找到here

更新2018-04-16:添加了编辑命令和添加的链接。

答案 1 :(得分:1)

据我所知,没有受支持的快捷方式的主列表,而且你通常会从Windows的基本快捷方式继承它们的快捷方式。我以前自己搜索过这个,但从未能找到一个列表。我在互联网上看到的其他人也从来没有运气。

所以不幸的答案是:不,没有清单。

编辑:好的,经过一番挖掘后,我能给你的最好的是一个预定义命令列表,你可以将它们应用到内置于WPF中的控件中。这些分为五类:

  • 应用程序命令
  • 导航命令
  • 组件命令
  • 媒体命令
  • 编辑命令

他们的文档可以在MSDN上找到here(示例)。单击其中一个命令将转到其单独的页面,该页面将列出其默认快捷方式,如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是一个看似非常基本的教程,将这些命令绑定到按钮上,而不是(代码来自哪里)。这个 不会 告诉你默认情况下有哪些命令,但它应该能够至少推断出某些命令的键盘快捷键,无论是什么& #39;值得。