gpt4 book ai didi

c# - 增加 Silverlight DataGrid 中的列宽以填充整个 DG 宽度

转载 作者:可可西里 更新时间:2023-11-01 03:08:20 25 4
gpt4 key购买 nike

我有一个绑定(bind)到 SQL 表的 DataGrid 控件。

XAML 代码是:

<data:DataGrid x:Name="dg_sql_data" 
Grid.Row="1"
Visibility="Collapsed"
Height="auto"
Margin="0,5,5,5"
AutoGenerateColumns="false"
AlternatingRowBackground="Aqua"
Opacity="80"
>
<data:DataGrid.Columns>
<data:DataGridTextColumn Header="Latitude" Binding="{Binding lat}" />
<data:DataGridTextColumn Header="Longitude" Binding="{Binding long}" />
<data:DataGridTextColumn Header="Time" Binding="{Binding time}" />
</data:DataGrid.Columns>
</data:DataGrid>

是否可以增加单列的大小以填充数据网格的完整宽度?

谢谢,
亨里克

编辑:宽度为“*”的列随 Silverlight SDK 4 一起提供。

最佳答案

解决方法:

    void dg_sql_data_SizeChanged(object sender, SizeChangedEventArgs e)
{
DataGrid myDataGrid = (DataGrid)sender;
// Do not change column size if Visibility State Changed
if (myDataGrid.RenderSize.Width != 0)
{
double all_columns_sizes = 0.0;
foreach (DataGridColumn dg_c in myDataGrid.Columns)
{
all_columns_sizes += dg_c.ActualWidth;
}
// Space available to fill ( -18 Standard vScrollbar)
double space_available = (myDataGrid.RenderSize.Width - 18) - all_columns_sizes;
foreach (DataGridColumn dg_c in myDataGrid.Columns)
{
dg_c.Width = new DataGridLength(dg_c.ActualWidth + (space_available / myDataGrid.Columns.Count));
}
}
}

关于c# - 增加 Silverlight DataGrid 中的列宽以填充整个 DG 宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/894991/

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