需要在WPF中设置行和列的宽度和高度

时间:2015-07-16 08:01:59

标签: c# wpf xaml datagrid wpfdatagrid

我有一个scenarion,我需要设置我的行和列宽度,水平和垂直滚动。我有一个固定网格75列和41行,它绑定简单的for循环,其autogeneratecolumns为True。我如何根据我的屏幕设置我的行和列维度。

屏幕的图像我得到了。

enter image description here enter image description here enter image description here

我不想要任何滚动,并希望我的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而没有任何列。

请建议我如何做那件事。

2 个答案:

答案 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>