在WPF ListView中添加带列的项目

4

我使用以下XAML代码用于ListView:

    <ListView>
        <ListView.View>
            <GridView>
                <GridViewColumn DisplayMemberBinding="{Binding Path=Flag}" />
                <GridViewColumn Header="Name" DisplayMemberBinding="{Binding Path=Name}" />
                <GridViewColumn Header="Ip Address" DisplayMemberBinding="{Binding Path=IpAddress}" />
            </GridView>
        </ListView.View>
    </ListView>

这是我向ListView添加项目的方式:

ServerListItem item = new ServerListItem
{
    Flag = "IL",
    Name = "Sample Server",
    IpAddress = "sample-server.com"
};
lvServerList.Items.Add(item);

这是 ServerListItem 类:

public class ServerListItem
{
    public string Flag;
    public string Name;
    public string IpAddress;
}

该项已添加到 ListView,但所有列都为空。我该怎么办?
1个回答

7

WPF不绑定到字段,仅绑定到属性。Flag、Name和IpAddress在您的类中定义为公共字段。请更改类定义以使用自动属性:

public class ServerListItem 
{ 
    public string Flag { get; set; }
    public string Name { get; set; }
    public string IpAddress { get; set; }
} 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接