当前位置: 首页 > 编程语言 > C#

在视口中查找WPF控件分享

时间:2023-04-11 00:20:56 C#

在视口中查找WPF控件更新:这可能是一个简单或复杂的问题,但在wpf中,我有一个列表框,我用列表模板中的数据填充。有没有办法找出特定的数据模板项目是否在视口中,即我已经滚动到它的位置并可以查看它?目前我迷上了listbox_ScrollChanged事件,它给了我ScrollChangedEventArgs,但我找不到合适的属性...任何帮助将不胜感激,谢谢!请参阅此问题对于特定的ListBox,您可以执行此操作privateboolIsControlVisibleToUser(Controlcontrol){if(listBoxItem!=null){returnIsUserVisible(listBoxItem,listBox);}返回假;而我从上面的问题中链接出来的方法是C#学习教程:FindallthecontentsharedbytheWPFcontrolinViewport。关注—privateboolIsUserVisible(FrameworkElementelement,FrameworkElementcontainer){if(!element.IsVisible)returnfalse;矩形边界=element.TransformToAncestor(container).TransformBounds(newRect(0.0,0.0,element.ActualWidth,element).ActualHeight);Rectrect=newRect(0.0,0.0,container.ActualWidth,container.ActualHeight);返回rect.Contains(bounds.TopLeft)||rect.Contains(bounds.BottomRight);}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如有转载请注明出处: