【问题标题】:Need to Set Row and column width and height in WPF需要在WPF中设置行列宽高
【发布时间】:2015-07-16 08:01:58
【问题描述】:

我有一个场景,我需要在没有水平和垂直滚动的情况下设置行和列的宽度。我有一个 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;

如何将其行和列的宽度设置为最小,以便它可以在不滚动的空间中进行调整。

Xaml 文件:

<DataGrid Name="grdRowsColumns" AutoGenerateColumns="True" Margin="0,-9,10,79">
</DataGrid>

在 Xaml 中,我只有 DataGrid,没有任何列。

请建议我如何做到这一点。

【问题讨论】:

    标签: c# wpf xaml datagrid wpfdatagrid


    【解决方案1】:

    我发现了一些可以引导你走向正确方向的东西!

    Customized auto-generated columns

    指的是如何“在 DataGrid 控件中自定义自动生成的列”

    还有这个链接:datagrid-setting-the-size-of-columns-in-code-behind

    希望对你有所帮助。

    更新Here 是关于如何做到这一点的另一个建议。

    更新 在 xaml 你也可以写:

    <DataGrid ItemsSource="{Binding}" AutoGenerateColumns="True" ColumnWidth="*"  />
    

    这会将所有列设置为屏幕/父控件的宽度。

    但是还没有弄清楚如何在不设置模板/样式的情况下在 xaml 中操作“RowHeight”

    【讨论】:

      【解决方案2】:

      就这么简单

      <Viewbox Stretch="Uniform" >
         <DataGrid Name="grdRowsColumns" AutoGenerateColumns="True" Margin="0,-9,10,79"/>
      </Viewbox>
      

      【讨论】:

        猜你喜欢
        • 2013-07-14
        • 2018-09-03
        • 1970-01-01
        • 2012-04-01
        • 1970-01-01
        • 1970-01-01
        • 2016-06-23
        • 1970-01-01
        • 2013-12-26
        相关资源
        最近更新 更多