14

第一的!我知道这似乎是一种欺骗,但事实并非如此。

我有一个网格作为DataGrid.RowDetails. 它有三列:两列 withWidth="Auto"和 3d withWidth="*"

<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 为目标

4

1 回答 1

7

最后我找到了灵魂。

刚刚添加ScrollViewer.HorizontalScrollBarVisibility="Disabled"

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

于 2013-01-21T19:55:59.027 回答