我有一个Datagrid,它在Runtime上显示数据,因为它有很多数据,它本身带有滚动条,但尺寸较小。任何人都可以告诉如何更改滚动条的大小并使其更大?
<DataGrid x:Name="DgUnitVerReefer" HorizontalAlignment="Center" SelectionMode="Single" SelectionUnit="FullRow" Margin="20,94,26,0" IsReadOnly="True" AutoGenerateColumns="False" Visibility="Visible" VerticalAlignment="Top" Height="334" HorizontalGridLinesBrush="#FFA4C4EA" FontFamily="Microsoft New Tai Lue" AlternatingRowBackground="#FFA4C4EA" MouseDoubleClick="DgUnitVerReefer_MouseDoubleClick" FontSize="16" Width="387">
<DataGrid.Columns>
<DataGridTextColumn Header="" Binding="{Binding Path= UNIT_NUMBER}" Width="350" />
</DataGrid.Columns>
</DataGrid>
然后在window_loaded中加载数据并分配给datagrid。
DgUnitVerReefer.DataContext = objVerifyUnit.DtLovReefer.DefaultView;
DgUnitVerReefer.ItemsSource = objVerifyUnit.DtLovReefer.DefaultView;
DgUnitVerReefer.DisplayMemberPath = "UNIT_NUMBER";
DgUnitVerReefer.SelectedValuePath = "UNI_ID";
在运行它时显示尺寸较小的滚动条,如何更改其大小?
答案 0 :(得分:7)
您可以在ScrollBar
级别为DataGrid
类型应用样式。我们应该对Trigger
属性使用Orientation
来仅将样式应用于垂直滚动条:
<DataGrid.Resources>
<Style TargetType="ScrollBar">
<Style.Triggers>
<Trigger Property="Orientation" Value="Vertical">
<Setter Property="Width" Value="50"/>
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.Resources>
对于水平滚动条,我们需要设置Height
,而触发器的Value
为Horizontal
。
答案 1 :(得分:0)
King King solution 不起作用是您想要 reduce the width of the ScrollBar
。在这种情况下,您还应该设置 MinWidth
属性。
另一种基于 this response 的解决方案是修改 SystemParameters.VerticalScrollBarWidth 属性:
<DataGrid.Resources>
<system:Double x:Key="{x:Static SystemParameters.VerticalScrollBarWidthKey}">5</system:Double>
</DataGrid.Resources>