我有一個GridView,我在代碼隱藏中設置ItemsSource。網格中的所有列都在XAML中定義,並且所有列寬均爲「自動」。當我最初設置網格的ItemsSource時,列的寬度設置正確。當更改ItemsSource時GridView列的寬度不會更新
現在,根據用戶的操作,網格的ItemsSource可能被設置爲一個新的EntityCollection。我注意到的是,列寬保持與之前的ItemsSource一樣。也就是說,當爲網格設置新的ItemsSource時,列寬似乎不會自動調整。在設置列寬時,代碼隱藏或XAML中有沒有辦法強制Grid使用新的ItemsSource?我認爲這將是GridView在ItemsSource重置時自動執行的操作。
<ScrollViewer VerticalScrollBarVisibility="Auto">
<ListView>
<ListView.View>
<GridView>
<GridView.Columns>
<GridViewColumn Width="Auto" Header="Status">
<GridViewColumn.CellTemplate>
<DataTemplate>
<Image Width="16" Height="16" Source="{Binding Path=Blocking}" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn Width="Auto" Header="Title">
<GridViewColumn.CellTemplate>
<DataTemplate>
<TextBlock TextTrimming="CharacterEllipsis" Text="{Binding}" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView.Columns>
</GridView>
</ListView.View>
</ListView>
</ScrollViewer>
你試圖迫使' 'GridView'上的UpdateLayout()'?它可能是它本身,但以防萬一, – 2012-01-31 12:22:38
我已經嘗試過,但它並沒有幫助 – Igal 2012-01-31 12:36:33