初め!私はそれが一種のダップに見えるかもしれないことを知っていますが、そうではありません.
のデータ テンプレートとしてグリッドがあります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 列を表示します。しかし、RowDetaislTemplate
4番目の空の列として使用すると表示されます。これは私を怒らせます。
なぜこれが起こるのか、誰にも考えがありますか?
更新 1。見た目:
更新 2 .
やっと魂を見つけた。追加したばかりScrollViewer.HorizontalScrollBarVisibility="Disabled"
今は大丈夫です:
しかし、私はこの奇妙な行動を理解できません。
更新 3 (誰かの役に立つかもしれません)
最近、ユーザーにはあり、開発者にはなかったバグが見つかりました。バグは、DataGrid の幅と配置に関するものでした。これは実際にはバグではなかったのかもしれませんが、コントロールの動作が異なっていました。
調査により、.net Framework 4.5 インストーラーをインストールすると、.net Framework 4.0 も更新されることが明らかになりました。この更新により、DataGrid の動作が何らかの形で変更されました。(予想通り)
フレームワーク 4.5 をインストールするようにユーザーに依頼したところ、問題は解消されました。私たちのアプリはまだ.net 4.0をターゲットにしていますが