WPF DataGrid 最后一列显示空白
请教大家一个问题,WPF 我用DataGrid控件 自动绑定数据 每一列Width用*来表示。如下<my:DataGridTextColumn Header="商品类型" x:Name="ProductType" Width="1*" Binding="{Binding Path=CATALOGNAME}"/>
<my:DataGridTextColumn Header="品牌名称" x:Name="MNAME" Width="0.5*" Binding="{Binding Path=BRANDNAME}"/>
<my:DataGridTextColumn Header="商品型号" x:Name="MODUEL" Width="0.5*" Binding="{Binding Path=MODEL}"/>
启动程序,窗体显示正常 如下图
我用AvalonDock那个第三方控件。当有两个DocumentContent分配整个Document的时候。DataGrid 列就出现了问题。现有的列不平均分布各自DataGrid的宽度。最后一列有一个很大的空白,而且无法选中。网上查了下。说只有当DataGrid的宽度=各列宽度的总和的情况下。那个恶心的空白就不会出现。但是我的程序各列是按比例分布的。如果写成固定的宽度值。如果窗体拖大,或者缩小,难道还得重新计算再重新分配?没有尝试这种方法。如下图。
错误图例
请教了。谢 --------------------编程问答-------------------- --------------------编程问答-------------------- 有没有人告诉我这是为啥啊 --------------------编程问答-------------------- 在你最后一列的定义上,加上Width ="*" 就可以了
例如:<DataGridTextColumn IsReadOnly ="True" Binding ="{ Binding SourceSystemName }" Width ="*"/>
我也刚刚遇到这个问题,纠结了半天。
参考这篇文章:http://social.msdn.microsoft.com/Forums/en/wpf/thread/82d1725f-8a97-4c4b-b4bc-b70cdfae2275
补充:.NET技术 , C#