以编程方式更改ScrollViewer中的ScrollBar宽度

时间:2015-05-19 12:11:06

标签: c# .net wpf scrollviewer

当我创建一个新的ScrollViewer时,我需要修改ScrollViewer中ScrollBars的大小(更改VerticalScroll宽度和Horizo​​ntalScroll高度),以编程方式

我在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#中执行此操作。我怎么能这样做?

1 个答案:

答案 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执行相同操作。