listview中的文本内容未显示C#

时间:2017-06-05 13:51:06

标签: c# visual-studio listview

我有一个listview控件,文本不会显示。我尝试了3种不同的实现,每种方法都得到相同的结果。相关项目数的行将突出显示,但文本无处可寻。我正在使用WPF,文本内容在我正在阅读的文件中如下所示:

string1::string2

但是,出于测试目的,我没有使用文件内容。

我正在使用的教程:http://www.wpf-tutorial.com/listview-control/listview-with-gridview/

“1”和“2”只是为了测试。

enter image description here

代码

        List<ServerData> items = new List<ServerData>();

        while ((line = file.ReadLine()) != null )
        {
            string[] serverData = Regex.Split(line, "::");
            items.Add(new ServerData() { IPAddress="1", ServerName="2" });
        }
        listServer.ItemsSource = items;
        file.Close();

...

public class ServerData
{
    public string IPAddress { get; set; }
    public string ServerName { get; set; }
}

XAML

<ListView Margin="10,47,11,45.8" x:Name="listServer" Grid.RowSpan="2">
    <ListView.View>
        <GridView>
            <GridViewColumn Header="IP Address" Width="218.4" DisplayMemberBinding="{Binding Name}" />
            <GridViewColumn Header="Server Name" Width="218.4" DisplayMemberBinding="{Binding Name}" />
        </GridView>
    </ListView.View>
</ListView>

1 个答案:

答案 0 :(得分:1)

<ListView Margin="10,47,11,45.8" x:Name="listServer" Grid.RowSpan="2">
    <ListView.View>
        <GridView>
            <GridViewColumn Header="IP Address" Width="218.4" DisplayMemberBinding="{Binding Name}" />
            <GridViewColumn Header="Server Name" Width="218.4" DisplayMemberBinding="{Binding Name}" />
        </GridView>
    </ListView.View>
</ListView>

这是您的问题,您将列绑定到Name,而应该是:

<ListView Margin="10,47,11,45.8" x:Name="listServer" Grid.RowSpan="2">
    <ListView.View>
        <GridView>
            <GridViewColumn Header="IP Address" Width="218.4" DisplayMemberBinding="{Binding IPAddress}" />
            <GridViewColumn Header="Server Name" Width="218.4" DisplayMemberBinding="{Binding ServerName}" />
        </GridView>
    </ListView.View>
</ListView>