如何在WinUi 3中自定义滚动条

问题描述 投票:0回答:1

我正在 WinUI 3 上开发桌面应用程序,我需要完全更改标准滚动条的外观。我还没有决定使用哪个滚动类。据我了解,我有两个选择:ScrollView和ScrollViewer,但我不明白它们的根本区别是什么。无论如何,我需要完全改变这些类附带的默认滚动条的外观。理想情况下,我想使用视觉层的功能来实现这些目的,但我完全不知道如何做到这一点。我想知道一般存在哪些定制可能性,以及如何完成这项任务

c# .net scrollbar customization winui-3
1个回答
0
投票

标题问题

至于如何直观地自定义滚动条:我通过针对我正在使用的控件(例如 ScrollView)的内部 ScrollBar 来完成此操作,如下所示:

<ScrollView>
    <ScrollView.Resources>
        <Style TargetType="ScrollBar">
            <Setter Property="IndicatorMode" Value="MouseIndicator" /> 
        </Style>
    </ScrollView.Resources>
    <!-- Other stuff here... -->
</ScrollView>

至于可能性:某些 IDE 会在属性内为您提供 IntelliSense,以显示您可以使用哪些属性,或者您可以查看 ScrollBar 类文档 并找出它声明和继承的属性。

ScrollView 与 ScrollViewer

至于 ScrollView 与 ScrollViewer 问题,这种混淆是完全可以理解的 - 它们的命名有些令人困惑,并且 WinUI 3 Gallery 在突出差异方面还有一些不足之处。

也就是说,来自 MS Learn 通过 kmgallahan 在 GitHub 上的评论

ScrollView 控件的行为和用法与 ScrollViewer 控件类似,但基于 InteractionTracker,具有动画驱动的视图更改等新功能,并且旨在确保 ItemsRepeater 的完整功能。

ScrollView 似乎是 ScrollViewer 的改进包装,具有一些额外的功能,使 UI 体验更好一些。个人意见:更喜欢ScrollView。

© www.soinside.com 2019 - 2024. All rights reserved.