如何让最后的DataGrid的列占据整个左侧的空间?(How to make the last Da

2019-06-27 01:42发布

第一! 我也知道,似乎有种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

Answer 1:

最后,我找到了soultion。

刚刚添加ScrollViewer.HorizontalScrollBarVisibility="Disabled"

对于那些谁的目标框架V4.0
最近,我们发现了我们的用户有一个bug和开发商没有。 该错误再次是关于DataGrid的宽度和对齐。 好了,可能是这是不是一个真正的错误,但我们有不同的控制行为。 该研究发现,在安装的.NET Framework 4.5时,安装程​​序还将更新的.NET Framework 4.0。 此更新在某种程度上改变了DataGrid的行为。 (于预期的一个),我们要求用户安装框架4.5,问题就消失了。 虽然我们的应用程序仍然面向.NET 4.0



文章来源: How to make the last DataGrid's column occupy the whole left space?