我有一個帶有兩列的WPF DataGrid;我希望第二列自動適合網格,所以我將其寬度設置爲「*」。但是,在運行時,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中之中。我試過的ScrollViewer的寬度設置爲DataGrid的寬度:
Width="{Bidning ElementName=MyGrid, Path=ActualWidth}"
在this post建議,但沒有運氣。我也嘗試將HorizontalScrollBarVisibility設置爲Disabled,但隨後一切消失(嚴重)。
我還應該提到所有這些都在UserControl中,該UserControl位於另一個UserControl中,然後位於Window中,這可能與一切「消失」有關(我懷疑寬度已經變得瘋狂並且一切都「關閉」窗戶')。
您在使用.NET 4.0?我還記得大約2-3周前關於同一主題的另一個主題。我認爲它確定是一個4.0的bug,它在3.5中工作。 – tsells
是的,使用.NET 4.0。如果這是重複的,我會很感激,如果有人能指出我以前的問題。 –
我找了它,找不到它。在WPF標籤下查找並回到某種方式,您可能會發現它。 – tsells