相关疑难解决方法(0)

更改ItemsSource时,GridView列宽不会更新

我有一个GridView,我在代码隐藏中设置ItemsSource.网格中的所有列都在XAML中定义,所有列宽都是"自动".当我最初设置网格的ItemsSource时,列宽正确设置.

现在,根据用户的操作,可以将网格的ItemsSource设置为新的EntityCollection.我注意到的是,列宽仍然与之前的ItemsSource一样.也就是说,当为Grid设置新的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>
Run Code Online (Sandbox Code Playgroud)

wpf xaml binding gridview itemssource

3
推荐指数
2
解决办法
5245
查看次数

标签 统计

binding ×1

gridview ×1

itemssource ×1

wpf ×1

xaml ×1