第一的!
我知道这似乎是一种 dup然而事实并非如此。
我有一个网格作为 DataGrid.RowDetails
的数据模板.
它有三列:两列带有 Width="Auto"
和 3d 与 Width="*"
<DataTemplate x:Key="NotEmptyDistributionsTemplateKey">
<DataGrid ItemsSource="{Binding SoftwareVersionDistributions}"
CanUserAddRows="False"
CanUserDeleteRows="False"
CanUserReorderColumns="False"
CanUserResizeColumns="True"
CanUserSortColumns="False"
IsReadOnly="True"
CanUserResizeRows="False"
AutoGenerateColumns="False"
RowHeaderWidth="0"
Margin="20,5"
HorizontalAlignment="Stretch">
<DataGrid.Columns>
<DataGridTextColumn
Header="Architecture"
Binding="{Binding SoftwareArchitecture.Name, TargetNullValue=Все, FallbackValue=Все}"
Width="Auto"/>
<DataGridTextColumn
Header="Language"
Binding="{Binding SysCodepage.Title, TargetNullValue=Все, FallbackValue=Все}"
Width="Auto"/>
<DataGridHyperlinkColumn
Header="Link"
Binding="{Binding DownloadLink}"
Width="*"
CanUserResize="False"/>
</DataGrid.Columns>
</DataGrid>
</DataTemplate>
如果 Grid 嵌套在单元格中,则此模板正好显示 3 列。
但是当它用作
RowDetaislTemplate
时出现第 4 个空列。这让我很生气。
有没有人知道为什么会发生这种情况?
更新 1 .它的外观:
更新 2 .
最后我找到了灵魂。刚刚添加
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
现在可以了:
但我无法理解这种奇怪的行为。
更新 3 (可能对某人有帮助)
最近我们发现了一个我们的用户有而开发者没有的错误。该错误再次与 DataGrid 的宽度和对齐方式有关。好吧,可能这不是一个真正的错误,但我们有不同的控件行为。
研究表明,在安装 .net framework 4.5 时,安装程序也会更新 .net framework 4.0。此更新以某种方式改变了 DataGrid 的行为。 (到预期的)
我们要求我们的用户安装框架 4.5,问题就消失了。虽然我们的应用程序仍然针对 .net 4.0
最佳答案
最后我找到了灵魂。
刚刚添加 ScrollViewer.HorizontalScrollBarVisibility="Disabled"
对于那些以 Framework v4.0 为目标的人
最近我们发现了一个我们的用户有而开发人员没有的错误。该错误再次与 DataGrid 的宽度和对齐方式有关。好吧,可能这不是一个真正的错误,但我们有不同的控件行为。
研究表明,在安装 .net framework 4.5 时,安装程序也会更新 .net framework 4.0。此更新以某种方式改变了 DataGrid 的行为。 (到预期的)
我们要求我们的用户安装框架 4.5,问题就消失了。虽然我们的应用程序仍然针对 .net 4.0
关于wpf - 如何让最后一个DataGrid的列占据整个左侧空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11956023/