如果需要WPF,请在DataGrid中填充剩余列宽

时间:2017-11-01 17:06:33

标签: wpf wpfdatagrid

我在WPF应用程序中有一个数据网格控件,它有5个静态列,在视图的XAML中声明了设置的绝对宽度。

  • 第1列宽度= 50
  • 第2列宽度= 50
  • 第3列宽度= 75
  • 第4列宽度= 75
  • 第5列宽度= 75

然后,在我的视图背后的代码中,我根据来自DB的查询结果动态生成更多列(在第5列之后插入它们)。此数字可以是1到N之间的任何值。这些动态列中的每一个都具有100的宽度。

最后,回到XAML,我有一个绝对MinWidth

的最终静态列
  • 列(最后)MinWidth = 200

当生成列的数量大于3时,此结构很有效(注意,我的窗口有一个设置的宽度,但可以由用户更改)。当动态列的数量小于或等于3时, Last 列的宽度不能正确填充数据网格的剩余空间 - 它会在200处切断(这是预期的) )看起来有一个没有标题的附加列,实际上它只是数据网格中DataGridRow的剩余空间。

我需要 Last 列,仅在需要时填充剩余空间。如果我将宽度设置为" *",则它会压缩所有其他列以适应数据网格的宽度。用户需要水平滚动条才能充分查看网格中的值。有没有人有任何想法?

注意:我正在使用DataGridTemplateColumn在XAML和代码隐藏中构建数据网格。

0 个答案:

没有答案