我有两个 DataGrid
,一个用来呈现主要内容,另一个则是用作目录跳转(如下图):
效果:当我点击目录的 DataGrid
时,主 DataGrid
将滚动到目标。
代码很简单,为 ItemsSource
创建一个副本,原本赋予主表,副本赋予目录,目录被点击时,保存 SelectedItem
,然后去主表找对应的 Item
,并将其设置为 SelectedItem
。
问题是,我需要目录面板在点击后,或点击空白部分(即相当于失去焦点)时,目录面板能够自动隐藏,这部分代码也很简单,但我试了下,目录表似乎无法触发 LostFocus
事件。
我现在的解决方法是通过最外层 Window
的 MouseDown
事件来代替目录表的 LostFocus
事件。
但是我不明白为什么目录表的 LostFocus
事件无法触发?