首页 > 代码库 > wpf 虚拟化操作异常
wpf 虚拟化操作异常
根据这篇文章提供的方法会导致搜索变慢及有时候搜索不到 WPF中ItemsControl应用虚拟化时找到子元素的方法,
具体可以修改为下面代码:
//Action action = () => //{ try { TreeViewItem itemSelected = null; //Force to generate every treeView item by using scroll item if (virtualizingPanel != null) { try { if (isCallEnd) { isCallEnd = false; virtualizingPanel.CallBringIndexIntoView(selectedIndex); isCallEnd = true; } } catch (System.Exception ex) { Logger.Error("CallBringIndexIntoView exception : ", ex); } itemSelected = (TreeViewItem)_currentSelectedItem.ItemContainerGenerator.ContainerFromIndex(selectedIndex); }
增加变量isCallEnd 用来防止循环调用,-》CallBringIndexIntoView-》ItemContainerGenerator_StatusChanged-》treeViewItem_BringIntoView-》CallBringIndexIntoView
wpf 虚拟化操作异常
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。