我有一个自定义的虚拟化树视图,只要用户尝试使用不在视图中的选定TreeViewItem(因此无法直观加载到虚拟化树中)的键盘导航(向上/向下),该视图就会变得很有趣。
我试图实现的解决方案涉及当起始节点尚未在树中查看/加载时禁用键盘导航。
我可以获得起始的TreeViewItem /节点,但是,我不知道如何确定它是否在视图中(IsLoaded prop没有帮助)。有谁知道我怎么能这样做?
protected override void OnPreviewKeyDown(KeyEventArgs e)
{
if (e.Key == Key.Down)
{
var startingItem = (TreeViewItem)e.OriginalSource; // starting treenode
// how do I check if it's in view/loaded in my virtualized tree?
}
}