2012-08-14 8 views
15

まずは! 私はそれがdupのように見えるかもしれないことは知っていますが、そうではありません。最後のDataGridの列を左スペース全体に占有させる方法は?

DataGrid.RowDetailsのデータテンプレートとしてグリッドがあります。 Width="Auto" 2つのグリッドは、セル内にネストされている場合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> 

た3Dこのテンプレートは、正確に3列を示す: それは3つの列を有しています。 しかし、RowDetaislTemplateとして使用された場合、4番目の空欄が表示されます。 これは私を怒らせる。

これはどうして起こるのでしょうか?

更新1。それがどのように見えるか:

enter image description here

アップデート2

最後に私はソウルティションを見つけました。

enter image description here

をしかし、私はこの奇妙な振る舞いを理解することはできません:ただScrollViewer.HorizontalScrollBarVisibility="Disabled"

を追加しました今は大丈夫です。

アップデート3(誰かに役立つかもしれない)

最近私達は私達のユーザーが持っていたし、開発者がいなかったバグを発見しました。このバグは、DataGridの幅と位置合わせに関するものです。まあ、これは本当にバグではないかもしれませんが、コントロールの動作が異なります。
調査によると、.net framework 4.5をインストールすると、.net framework 4.0も更新されています。このアップデートは、DataGridの動作を何とか変更しました。 (予想通り)
ユーザーにフレームワーク4.5をインストールし、問題が解消されるように頼んだ。私たちのアプリはまだターゲット。ネット4.0

+0

あなたはスクリーンショットを投稿できますか?私は問題が親のグリッドで幅の列を与えていると思われます – Charleh

+0

@Charleh。あなたが正しいです。列の幅は*です。しかし、このデータテンプレートがセルのテンプレートとして機能するときは、すべてうまく動作します。 RowDetailsTemplateは問題です。 –

+0

@Charleh。明日のスクリーンショットを投稿します。 –

答えて

6

最後に私は魂を見つけた。


ちょうど私達が私達のユーザーが持っていたバグを発見し、開発者はなかった最近のフレームワークv4.0の
を対象と人のためにScrollViewer.HorizontalScrollBarVisibility="Disabled"

を追加しました。このバグは、DataGridの幅と位置合わせに関するものです。まあ、これは本当にバグではなかったかもしれませんが、我々はコントロールの異なる動作を持っていました。 調査によると、.net framework 4.5をインストールすると、.net framework 4.0も更新されたことが明らかになりました。このアップデートは、DataGridの動作を何とか変更しました。 (予想通り) ユーザーにフレームワーク4.5のインストールを依頼し、問題は消えました。私たちのアプリはまだターゲットです.net 4.0

関連する問題