gpt4 book ai didi

c# wpf datagrid column width auto size 如果需要添加水平滚动

转载 作者:太空宇宙 更新时间:2023-11-03 15:02:41 24 4
gpt4 key购买 nike

我正在使用 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>

提前致谢。

最佳答案

您可以使用 DataGridTemplateColumn 代替 DataGridTextColumn,如下所示:

<DataGridTemplateColumn Header="Transaction" Width="160">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Disabled">
<TextBlock Text="{Binding accountBalanceTransaction}"></TextBlock>
</ScrollViewer>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>

关于c# wpf datagrid column width auto size 如果需要添加水平滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45375567/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com