如何使最后一个DataGrid的列占据整个左侧空间?

时间:2012-08-14 15:43:39

标签: wpf wpfdatagrid

第一! 我知道它看起来似乎是一种dup,但事实并非如此。

我有一个网格作为DataGrid.RowDetails的数据模板。 它有三列:两列Width="Auto"和三维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 。看起来如何:

enter image description here

更新2

最后我找到了灵魂。刚刚添加了ScrollViewer.HorizontalScrollBarVisibility="Disabled"

现在没关系:

enter image description here

但我无法理解这种奇怪的行为。

更新3 (可能对某人有帮助)

最近我们发现了一个用户拥有的错误,开发人员没有。该错误再次涉及DataGrid的宽度和对齐方式。好吧,可能这不是一个真正的错误,但我们有不同的控制行为 研究表明,安装.net framework 4.5安装程序时还更新了.net framework 4.0。此更新以某种方式改变了DataGrid的行为。 (对预期的一个)
我们要求用户安装框架4.5,问题消失了。虽然我们的应用仍然针对.net 4.0

1 个答案:

答案 0 :(得分:6)

最后我找到了灵魂。

刚刚添加了ScrollViewer.HorizontalScrollBarVisibility="Disabled"

对于那些以Framework v4.0为目标的人 最近我们发现了一个用户有错误而开发人员没有的错误。该错误再次涉及DataGrid的宽度和对齐方式。好吧,可能这不是一个真正的错误,但我们有不同的控件行为。 研究表明,安装.net framework 4.5安装程序时还更新了.net framework 4.0。此更新以某种方式改变了DataGrid的行为。 (到预期的一个) 我们要求用户安装框架4.5,问题就消失了。虽然我们的应用仍然针对.net 4.0

相关问题