【发布时间】:2018-01-04 15:30:00
【问题描述】:
我正在使用 WPF 开发一个项目,并且我有一个数据网格。在数据网格中,我有 6 列,我对其进行了编码以使用和共享数据网格的所有宽度。我的问题是,当一列的值对于其标题宽度而言足够长时,长文本只会将文本剪掉,并根据其宽度显示它可以具有的内容。我想要发生的是让数据网格添加水平滚动,这样如果文本很长,其标题的宽度会增加,因此由于数据网格宽度除以其标题,因此会出现水平滚动。请注意,其他标题的宽度不应调整或受此更改影响,而是应添加水平滚动。 下面是我的 DataGrid XAML 代码:
<DataGrid x:Name="accountsBalance_grd"
HorizontalAlignment="Left"
Margin="266,118,0,0"
VerticalAlignment="Top"
Height="498"
Width="836"
AreRowDetailsFrozen="True"
AutoGenerateColumns="False"
CanUserReorderColumns="False"
CanUserResizeColumns="False"
CanUserResizeRows="False"
CanUserSortColumns="False"
CanUserAddRows="False"
BorderBrush="Blue"
Background="White"
Foreground="Blue"
BorderThickness="2"
HorizontalGridLinesBrush="Black"
Loaded="accountsBalance_grd_Loaded">
<DataGrid.ColumnHeaderStyle>
<Style TargetType="DataGridColumnHeader">
<Setter Property="FontSize"
Value="20" />
</Style>
</DataGrid.ColumnHeaderStyle>
<DataGrid.Columns>
<DataGridTextColumn Header="Name"
Width="150"
Binding="{Binding accountBalanceName}"
IsReadOnly="True" />
<DataGridTextColumn Header="Total Balance"
Width="150"
Binding="{Binding accountBalanceTotal}"
IsReadOnly="True" />
<DataGridTextColumn Header="Amount"
Width="120"
Binding="{Binding accountBalanceAmount}"
IsReadOnly="True" />
<DataGridTextColumn Header="Transaction"
Width="160"
Binding="{Binding accountBalanceTransaction}"
IsReadOnly="True" />
<DataGridTextColumn Header="Date"
Width="*"
Binding="{Binding accountBalanceDate}"
IsReadOnly="True" />
<DataGridTextColumn Header="Incharge"
Width="*"
Binding="{Binding accountBalanceAdmin}"
IsReadOnly="True" />
</DataGrid.Columns>
<DataGrid.RowStyle>
<Style TargetType="{x:Type DataGridRow}">
<Setter Property="FontSize"
Value="15" />
<Setter Property="FontFamily"
Value="Arial" />
<Setter Property="FontWeight"
Value="Bold" />
<Setter Property="Foreground"
Value="Black" />
</Style>
</DataGrid.RowStyle>
</DataGrid>
提前致谢。
【问题讨论】: