创建自定义功能区scrollviewer

时间:2013-11-21 09:44:04

标签: wpf xaml ribbon scrollviewer

好的,我想要做的就是创建一个自定义的滚动视图,它将包含我的功能区,添加了一个滚动右键到功能区并隐藏滚动条。我想做的一个例子:

Example

我的想法是将功能区控件包装在一个滚动查看器中,然后按照以下方式设置样式...

<UserControl.Resources>
            <Style x:Key="PlanogramOrganiser_RibbonHomeTabStyle"
               TargetType="ScrollViewer">
                <Setter Property="VerticalScrollBarVisibility"  Value="Hidden"/>
                <Setter Property="HorizontalScrollBarVisibility" Value="Auto"/>
            </Style>
</UserControl.Resources>

任何人都可以建议如何将按钮移动到控件的右侧和左侧/隐藏滚动条但显示按钮我会去做什么?

1 个答案:

答案 0 :(得分:1)

虽然Ribbon控件的模板非常复杂,但仍然可以,但需要付出很多努力。

最好在空白WPF项目中使用Blend,在主视图上抛出一个功能区,右键单击它以编辑它的模板副本。 Blend将自动为您生成模板源代码的副本。

从那里,您可以找到要包装到ScrollViewer中的主按钮区域面板。

当然,您的ScrollViewer模板也需要自定义。默认的ScrollViewer模板基本上是一个Grid,底部第二行有水平滚动条,右边第二列有垂直条。

自定义ScrollViewer模板的最简单方法是IMO首先删除垂直滚动条,然后将内容区域覆盖在水平滚动条的顶部,使它们具有相同的高度。内容区域的左右边距应与2个箭头按钮的宽度相同,这样您仍然可以看到它们。

然后,您只需要将滚动条按钮重新设置为与图像中的按钮相似。

正如我所说,这是可行的,但需要付出很多努力。