我有一个scenarion,我需要设置我的行和列宽度,水平和垂直滚动。我有一个固定网格75列和41行,它绑定简单的for循环,其autogeneratecolumns为True。我如何根据我的屏幕设置我的行和列维度。
屏幕的图像我得到了。
我不想要任何滚动,并希望我的41行和75列适合一个屏幕。
我的代码(xaml.cs):
DataTable dt = new DataTable();
for (int i = 1; i <= 75; i++)
{
DataColumn col = new DataColumn();
col.ColumnName = i.ToString();
dt.Columns.Add(col);
}
for (int i = 1; i <= 41; i++)
{
DataRow _r = dt.NewRow();
for (int j = 1; j <= 75; j++)
{
_r[j.ToString()] = j.ToString();
}
dt.Rows.Add(_r);
}
grdRowsColumns.ItemsSource = dt.DefaultView;
如何将行和列的宽度设置为mininum,以便可以在没有滚动的空间中进行调整。
Xaml文件:
<DataGrid Name="grdRowsColumns" AutoGenerateColumns="True" Margin="0,-9,10,79">
</DataGrid>
在Xaml中我只有DataGrid而没有任何列。
请建议我如何做那件事。
答案 0 :(得分:4)
我找到的东西可能会引导你朝着正确的方向前进!
Customized auto-generated columns
指的是如何在DataGrid控件中自定义自定义列&#34;
此外这个链接:datagrid-setting-the-size-of-columns-in-code-behind
希望这会对你有所帮助。
<强>更新强>: Here是关于如何做到这一点的另一个建议。
<强>更新强> 在xaml中你也可以写:
<DataGrid ItemsSource="{Binding}" AutoGenerateColumns="True" ColumnWidth="*" />
这会将所有列设置为屏幕/父控件的宽度。
然而,却没有弄清楚如何操纵&#34; RowHeight&#34;在xaml中没有设置模板/样式答案 1 :(得分:2)
简单就是那个
<Viewbox Stretch="Uniform" >
<DataGrid Name="grdRowsColumns" AutoGenerateColumns="True" Margin="0,-9,10,79"/>
</Viewbox>