XAML 如何在scrollviewer中设置滚动条的粗细

xj3cbfub  于 2023-04-18  发布在  其他
关注(0)|答案(1)|浏览(187)

如何控制在/中显示的DataGrid控件的水平或垂直Scrollbar的粗细?我希望它们的显示比当前显示的要“粗”。

  • 备注:为了显示DataGrid中包含虚拟数据的示例应用程序,下面的屏幕截图基于您可以找到here的“Xaml brewer”示例应用程序。*

我有一个DataGrid,它总是显示垂直和水平滚动条(我删除了所有不必要的XAML代码):

<Page
    xmlns:controls="using:CommunityToolkit.WinUI.UI.Controls"
    mc:Ignorable="d">

    <Grid>

        <controls:DataGrid AutoGenerateColumns="False" 
                           VerticalScrollBarVisibility="Visible"
                           HorizontalScrollBarVisibility="Visible">

            <controls:DataGrid.Columns>
            </controls:DataGrid.Columns>

        </controls:DataGrid>

    </Grid>

</Page>

这是滚动条的正常显示方式,即DataGrid具有焦点,但鼠标当前 * 不 * 悬停在其中一个滚动条上。它们显示得非常薄,因此我的应用程序的用户有时无法识别它们:

这是当鼠标 * 当前悬停在其中一个(在本例中是底部的水平滚动条)上时,Scrollbar的显示方式。现在,这一个显示得有点厚,因此更容易看到:

是否有办法将滚动条显示得更厚/设置其厚度,或者指定它们应该始终以悬停在它们上方时的显示方式显示(参见上面的第二个屏幕截图,在这种情况下,它们显示得更厚)?

kr98yfug

kr98yfug1#

是否有办法显示滚动条更厚/设置其厚度
您可以重新设置ScrollBar的样式,但空的ScrollBar样式应该会给予类似于WPF的ScrollBar

<controls:DataGrid>
    <controls:DataGrid.Resources>
        <Style TargetType="ScrollBar" />
    </controls:DataGrid.Resources>
</controls:DataGrid>

指定它们应始终以悬停在其上时的显示方式显示
我已经为此发布了一个名为AK.Toolkit.WinUI3.ScrollBarExtensions的NuGet包。试用一下,看看它是否符合您的要求。

<Page
    :
    xmlns:controls="using:CommunityToolkit.WinUI.UI.Controls"
    xmlns:toolkit="using:AK.Toolkit.WinUI3" />

    <controls:DataGrid
        toolkit:ScrollBarExtensions.KeepHorizontalExpanded="True"
        toolkit:ScrollBarExtensions.KeepVerticalExpanded="True"
        HorizontalScrollBarVisibility="Visible"
        VerticalScrollBarVisibility="Visible" />

</Page>

相关问题