在公司负责功能的实现,沟通,一直将这个搁置没能记录下来,现在记录一下。
Revit二次开发中,想在导航栏中实现滚动条的效果,不能直接像在c#中的那种使用。另外因为原本前辈写好的代码不便删除,原本使用如图所示。
于是就百度在其外部添加了 ScrollViewer,导致出现了多个滚动条的效果。经过百般的学习,将代码改成如下:
<my:ZsmTreeView x:Name="TreeView0" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="5,5,0,0" Width="280" MaxHeight="620" />
改成如此以后便能实现滚动条的效果。另外又想实现在字上边也能够实现滚动,提高用户的体验效果,故此,在mytree中添加
PreviewMouseWheel="ScrollViewer_PreviewMouseWheel。
<my:ZsmTreeView x:Name="TreeView0" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="5,5,0,0" Width="280" MaxHeight="620" PreviewMouseWheel="ScrollViewer_PreviewMouseWheel"/>
另外在实现的类中添加对应的实现。
private void ScrollViewer_PreviewMouseWheel(object sender, MouseWheelEventArgs e)
{
var eventArg = new MouseWheelEventArgs(e.MouseDevice, e.Timestamp, e.Delta);
eventArg.RoutedEvent = UIElement.MouseWheelEvent;
eventArg.Source = sender;
}
到此,wpf滚动条在Revit二次开发的页面中完美展示。