WPF:ApplicationCommand似乎忽略了CommandTarget

WPF:ApplicationCommand似乎忽略了CommandTarget,wpf,xaml,routed-commands,Wpf,Xaml,Routed Commands,我的窗口中有一个文本框和一个列表视图,我想在文本框有焦点时上下移动列表视图的选择: 然而,我似乎没有理解我的CommandTarget声明,它们被忽略了。这是非路由命令的默认行为,但我尝试使用的移动命令是路由命令,因此这可能不是问题所在 我错过什么了吗 我的XAML当前看起来像这样(代码隐藏为空): 项目1 项目2 项目3 事实上,由于RouteDiCommand派生自RoutedCommand,因此它们都支持命令目标(MSDN实际上说命令目标只对RoutedCommand起作用,但它的意思

我的窗口中有一个
文本框
和一个
列表视图
,我想在
文本框
有焦点时上下移动
列表视图
的选择:

然而,我似乎没有理解我的
CommandTarget
声明,它们被忽略了。这是非路由命令的默认行为,但我尝试使用的移动命令是路由命令,因此这可能不是问题所在

我错过什么了吗

我的XAML当前看起来像这样(代码隐藏为空):


项目1
项目2
项目3

事实上,由于RouteDiCommand派生自RoutedCommand,因此它们都支持命令目标(MSDN实际上说命令目标只对RoutedCommand起作用,但它的意思是它对其他ICommand派生的对象不起作用)

您是否已将前面提到的组件命令(MoveDown和MoveUp)绑定到代码隐藏中的ListView中?ListView首次创建时没有命令绑定,因此需要执行以下操作:

AllItemsList.CommandBindings.Add(new CommandBinding(ComponentCommands.MoveDown, ExecuteMoveDown));
然后,您必须编写ExecuteMoveDown函数来执行移动

AllItemsList.CommandBindings.Add(new CommandBinding(ComponentCommands.MoveDown, ExecuteMoveDown));