私は2つの列を持つWPF DataGridを持っています。 2番目の列にグリッドを自動的にフィットさせたいので、その幅を "*"に設定します。しかし、実行時に、DataGridはばかげた幅にサイズ変更されます。ここでDataGridのスター型列は、DataGrid全体のサイズを変更します
は削除(と思う)余分なコントロールと属性との私の基本的なマークアップです:
<Grid>
<ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
<Grid>
<StackPanel>
<DataGrid Name="MyGrid" AutoGenerateColumns="False"
CanUserAddRows="False" CanUserReorderColumns="False"
CanUserResizeColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="Column 1" Width="Auto" Binding="{Binding Field1}"/>
<DataGridTextColumn Header="Column 2" Width="*" Binding="{Binding Field2}"/>
</DataGrid.Columns>
</DataGrid>
</StackPanel>
</Grid>
</ScrollViewer>
</Grid>
私は問題は、データグリッドがScrollViewerの中にあることであると思います。
Width="{Bidning ElementName=MyGrid, Path=ActualWidth}"
this postで提案されているように
、ない運:私は、DataGridの幅にScrollViewerのの幅を設定してみました。 HorizontalScrollBarVisibilityをDisabledに設定しようとしましたが、すべてが消えます(真剣に)。
私はまた、このすべてが、ウインドウに座っている別のUserControlにあるUserControlにあることを言及する必要があります。ウインドウには、おそらく「消えている」すべてが関係しています(幅が狂っていて、窓')。
あなたは.NET 4.0を使用していますか?私はここで約2-3週間前に同じトピックについて別のスレッドを思い出しています。私は、3.5で動作した4.0のバグであると判断したと思います。 – tsells
はい、.NET 4.0を使用しています。これが重複している場合は、誰かが私に前の質問を教えてもらえると感謝します。 –
私はそれを探してそれを見つけることができませんでした。 WPFタグの下を見て、やり直してみてください。 – tsells