WPF中ScrollViewer滚动条自动滚动到最上方
程序员文章站
2022-06-08 18:40:47
...
问题描述:WPF中点击一个文件夹A,A的子文件不能完全显示在视图里面,此时右键点击A文件夹,滚动条会自动滚动直到A文件夹处在视图的最上方,右键打开的Menu还会停留在A文件夹原来的位置
解决:TreeView下面添加事件OnRequestBringIntoView
<EventSetter Event="TreeViewItem.RequestBringIntoView" Handler="OnRequestBringIntoView">
事件OnRequestBringIntoView实现方法
private void OnRequestBringIntoView(object sender, RequestBringIntoViewEventArgs e)
{
e.Handled = true;
}
问题就解决了,其中RequestBringIntoView此事件向父ScrollViewer(或派生类)表明,引发RequestBringIntoView事件的元素应该在可滚动区域内可见。然后,通过使用事件的类处理,ScrollViewer将RequestBringIntoView事件标记为已处理。通常,RequestBringIntoView事件数据不应该由控制滚动区域的任何类或任何实例处理程序标记处理,因为这样做会干扰名为BringIntoView的元素的预期目标。(来自MSDN)
上一篇: C# 属性的定义
下一篇: C#利用粒子群算法实现求一元函数最小值