如何控制作为
Scrollbar
控件一部分显示在 / 中的水平或垂直 DataGrid
的厚度?
我希望它们显示得比目前显示的“更厚”。
备注:为了在
DataGrid
中显示带有虚拟数据的示例应用程序,下面的屏幕截图基于“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 具有焦点,但鼠标当前不悬停在其中一个滚动条上。它们显示得很薄,因此我的应用程序的用户有时无法识别它们:
这就是当鼠标
is当前悬停在其中一个(在本例中为底部的水平滚动条)上时显示
Scrollbar
的方式。现在这个显示得更厚一些,因此更容易看到:
有没有办法显示滚动条更粗/设置它们的厚度,或者指定它们应该始终以悬停在滚动条上时的显示方式显示(参见上面的第二个屏幕截图,在这种情况下它们显示更粗)?
有没有办法让滚动条显示更粗/设置其厚度
您也许可以重新设置
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>