14

初め!私はそれが一種のダップに見えるかもしれないことを知っていますが、そうではありません.

のデータ テンプレートとしてグリッドがありますDataGrid.RowDetails。3 つの列があります: 2 つの 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 列を表示します。しかし、RowDetaislTemplate4番目の空の列として使用すると表示されます。これは私を怒らせます。

なぜこれが起こるのか、誰にも考えがありますか?

更新 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 に答える