3
我有一个DataBound(通过HierachicTemplates)WPF TreeView,它可以很好地与鼠标配合使用,但我希望它能够用键盘驱动它。我已经添加了CommandBindings,以便ContextMenu项目可以通过'手势'执行;像CTRL + Delete来删除当前选中的项目,但我想要的是'Properties'键显示上下文菜单,并让用户能够使用光标键来导航它。使用键盘显示数据绑定中的上下文菜单WPF TreeView
我创建了一个CommandBinding并进行了调试,但RoutedUIEvent确实有一个ContextMenu。我试图从Xmal资源创建它,并且工作,但显然不正确,因为一切都被禁用。
如何创建一个可以用键盘导航的WPF ContextMenu?
试过,但这是一个TreeView事件是在TextBlock元素上触发的,该元素是树中的节点,并且没有ContextMenu。这似乎被绑定到更高级的东西上(视觉树?)。 contextMenu是一个TreeView资源。我也尝试将上下文菜单放在TextBlock上,但似乎没有帮助。 – Robert 2010-12-21 09:51:14
这里的问题在于我认为在设置contextMenu的控件上。如果你的事件是在textBlock上触发的,我建议在树状视图中找到具有“ContextMenu”属性的文本块的最近父节点,将contextMenu设置为该控件,然后在事件触发时, visualTree从你的TextBlock中获得这个父控件,并像我建议的那样执行“ContextMenu.IsOpen = true”。我没有看到任何更简单的方法来做到这一点。 – David 2010-12-21 10:13:52