当我创建一个新的ScrollViewer时,我需要修改ScrollViewer中ScrollBars的大小(更改VerticalScroll宽度和HorizontalScroll高度),以编程方式。
我在SO中找到的solution中尝试了以下内容,但没有成功:
public static ScrollViewer CreateScrollViewer()
{
ScrollViewer result = new ScrollViewer();
// I need to set the scroll width and height here
// I tried the following with no success
result.Resources.Add(SystemParameters.VerticalScrollBarWidth, 100);
return result;
}
我看到some解决方案to更改them,但所有解决方案都基于XAML。我需要在运行时,纯C#中执行此操作。我怎么能这样做?
答案 0 :(得分:1)
您可以从ScrollBar
的{{1}}访问ScrollViewer
。您可以从MSDN上的How to: Find ControlTemplate-Generated Elements页面了解如何执行此操作,您可以在MSDN上的ScrollViewer Styles and Templates页面中找到默认ControlTemplate
的详细信息,但简而言之,请尝试以下操作:< / p>
ControlTemplate
您可以对名为ScrollViewer scrollViewer = new ScrollViewer();
scrollViewer.ApplyTemplate();
ScrollBar scrollBar =
(ScrollBar)scrollViewer.Template.FindName("PART_VerticalScrollBar", scrollViewer);
的水平ScrollBar
执行相同操作。