まずは! 私はそれが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。それがどのように見えるか:
アップデート2。
最後に私はソウルティションを見つけました。
をしかし、私はこの奇妙な振る舞いを理解することはできません:ただScrollViewer.HorizontalScrollBarVisibility="Disabled"
を追加しました今は大丈夫です。
アップデート3(誰かに役立つかもしれない)
最近私達は私達のユーザーが持っていたし、開発者がいなかったバグを発見しました。このバグは、DataGridの幅と位置合わせに関するものです。まあ、これは本当にバグではないかもしれませんが、コントロールの動作が異なります。
調査によると、.net framework 4.5をインストールすると、.net framework 4.0も更新されています。このアップデートは、DataGridの動作を何とか変更しました。 (予想通り)
ユーザーにフレームワーク4.5をインストールし、問題が解消されるように頼んだ。私たちのアプリはまだターゲット。ネット4.0
あなたはスクリーンショットを投稿できますか?私は問題が親のグリッドで幅の列を与えていると思われます – Charleh
@Charleh。あなたが正しいです。列の幅は*です。しかし、このデータテンプレートがセルのテンプレートとして機能するときは、すべてうまく動作します。 RowDetailsTemplateは問題です。 –
@Charleh。明日のスクリーンショットを投稿します。 –