第一! 我也知道,似乎有种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>
这个模板精确地显示出3列,如果网格嵌套在一个单元格。 但是,当它被用作RowDetaislTemplate
出现4空列。 这让我很恼火。
没有任何人有想法,为什么会发生这种情况?
更新1。 如何看起来:
更新2。
最后,我找到了soultion。 刚刚添加ScrollViewer.HorizontalScrollBarVisibility="Disabled"
现在可以了:
但我不明白这个奇怪的行为。
更新3(可能是有用的人)
最近我们发现,我们的用户有一个bug和开发商没有。 该错误再次是关于DataGrid的宽度和对齐。 好了,可能是这是不是一个真正的错误,但我们有不同的控制行为。
该研究发现,在安装的.NET Framework 4.5时,安装程序还将更新的.NET Framework 4.0。 此更新在某种程度上改变了DataGrid的行为。 (与预期的一个)
我们要求用户安装框架4.5和问题dissapeared。 虽然我们的应用程序仍然面向.NET 4.0