Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 当按下值更改键时,处理并向上冒泡WPF滑块的KeyDown事件_C#_.net_Wpf_Events_Routed Events - Fatal编程技术网

C# 当按下值更改键时,处理并向上冒泡WPF滑块的KeyDown事件

C# 当按下值更改键时,处理并向上冒泡WPF滑块的KeyDown事件,c#,.net,wpf,events,routed-events,C#,.net,Wpf,Events,Routed Events,我有一个列表框,其中ItemTemplate包含一个滑块控件。当我们聚焦滑块并上下按下键时,它会像左右键一样改变值。我想覆盖此行为-我想取消值更改,让事件冒泡到父列表框,这将使它选择上一个/下一个项目 我打算撤消Slider的KeyDown处理程序中的值更改,并通过确保Handled=false让事件冒泡,希望源于子Slider的未处理KeyDown事件将使ListBox像往常一样工作并更改SelectedItem。我不确定列表框是否会这样,但在此之前我遇到过一些问题: KeyDown事件似乎没

我有一个列表框,其中ItemTemplate包含一个滑块控件。当我们聚焦滑块并上下按下键时,它会像左右键一样改变值。我想覆盖此行为-我想取消值更改,让事件冒泡到父列表框,这将使它选择上一个/下一个项目

我打算撤消Slider的KeyDown处理程序中的值更改,并通过确保Handled=false让事件冒泡,希望源于子Slider的未处理KeyDown事件将使ListBox像往常一样工作并更改SelectedItem。我不确定列表框是否会这样,但在此之前我遇到过一些问题:

KeyDown事件似乎没有从滑块中冒出气泡 甚至连一个向下键处理程序都无法连接到滑块本身——除非我按下其他键;按值更改键似乎根本不会触发KeyDown事件,只会触发ValueChanged事件
我该如何处理这个问题?谢谢

只是一个有助于调试的旁注:您是否尝试过使用?您可以在运行时连接到WPF应用程序,查看属性的状态等。但它也可以向您显示向下或向上挖掘树的事件,以及哪个控件处理它。感谢提示,此工具看起来非常有用!多亏了Snoop,我发现按键事件是由Slider的拇指来处理的,如果这个键是一个改变值的键,你解决了这个问题吗?请以答案的形式提供您的解决方案。我可能已经找到了一条路要走,但这需要时间,我现在还没有。我明天会回来讨论,当解决方案奏效时,我一定会回答我的问题: