我正在制作一个具有数据绑定 ListView 的 WPF 应用程序。加载应用程序时,ListViewColumns 的宽度将自动调整大小,但在添加或更改项目时它不会自动调整大小。我尝试刷新列表视图,在 xaml 和 VB 代码中将列的宽度设置为 auto、-1 或 -2,并且在重新填充项目之前尝试将 itemssource 更改为空。这是 xaml 代码:
<ListView x:Name="lsvPersons" Margin="5,5,5,35" ItemsSource="{Binding Persons}">
<ListView.View>
<GridView>
<GridViewColumn DisplayMemberBinding="{Binding Name}" Header="Name"/>
<GridViewColumn DisplayMemberBinding="{Binding Gender}" Header="Gender"/>
<GridViewColumn DisplayMemberBinding="{Binding Age}" Header="Age"/>
</GridView>
</ListView.View>
</ListView>
<Button x:Name="btnAddPerson" Content="Add" Height="25" Margin="0,0,200,5" Width="80"/>
绑定与控制器一起使用,该控制器从 SQL 数据库中获取具有 Person.getPersons 的人员:
Private oController As New MainController()
Public Sub New()
MyBase.New()
Me.InitializeComponent()
Me.DataContext = oController
End Sub
按下按钮后,将打开一个窗口以添加一个人。关闭窗口后,使用以下代码将项目添加到列表视图中,刷新列表视图中的项目:
lsvPersons.ItemsSource = Person.getPersons()
那么,当添加或编辑项目时,我需要做什么来自动调整列表视图的列大小?