首页 > 解决方案 > WPF ListView 列宽

问题描述

我使用带有单列的列表视图,我希望此列具有相同大小的列表视图。我的意思是只有一列填充列表视图的所有内容。

我试过这个,但没有奏效......

        <ListView Grid.Row="1" Grid.Column="1" x:Name="LvErrorList">
        <ListView.View>
            <GridView>                    
                <GridViewColumn Width="{Binding ActualWidth, ElementName=LvErrorList}" Header="Status" DisplayMemberBinding="{Binding ErrorMessage}" />
            </GridView>
        </ListView.View>
    </ListView>

我试过了

 <GridViewColumn Width="Auto" Header="Status" DisplayMemberBinding="{Binding ErrorMessage}" />

但是有些文本比 ListView 的长。因为我不知道用户屏幕尺寸,所以我无法设置 max-width 属性。

请问有谁知道如何解决这个问题?

标签: wpf

解决方案


你可以试试这种方法。

 <ListView Grid.Row="1" Grid.Column="1" x:Name="LvErrorList">
            <ListView.View>
                <GridView>
                    <GridViewColumn   Header="Status" >
                        <GridViewColumn.CellTemplate>
                            <DataTemplate>
                                <TextBlock Text="{Binding ErrorMessage}" Width="{Binding ElementName=LvErrorList,Path=ActualWidth}"/>
                            </DataTemplate>
                        </GridViewColumn.CellTemplate>
                    </GridViewColumn>
                </GridView>
            </ListView.View>
        </ListView>

推荐阅读