Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 类的ListBox和ToString重写_C#_Wpf - Fatal编程技术网

C# 类的ListBox和ToString重写

C# 类的ListBox和ToString重写,c#,wpf,C#,Wpf,我有一个叫做Player的类: public class Player { public string Name { get; set; } public ScoreCard Card { get; set; } public bool ReadyToStart { get; set; } public override string ToString() { return (Name + " - " + this.Card.TotalS

我有一个叫做Player的类:

public class Player
{
    public string Name { get; set; }
    public ScoreCard Card { get; set; }
    public bool ReadyToStart { get; set; }

    public override string ToString()
    {
        return (Name + " - " + this.Card.TotalScore);
    }
}
以及使用对上述类的服务引用的wpf客户端。当我想将播放器数组设置为
列表框
ItemSource
时,重写的
ToString
方法不会替换该类:

public void SendAllPlayers(Player[] players)
{
    if (this.Dispatcher.Thread == System.Threading.Thread.CurrentThread)
    {
        try
        {
            lbPlayers.ItemsSource = players;
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }
    else
        this.Dispatcher.BeginInvoke(new GuiUpdateDelegate(SendAllPlayers), new object[] { players });
}
结果如下所示:

重写的
ToString
方法是否不结转服务引用?有没有办法绕过这个问题


谢谢。

您是否更新了您的服务参考?我经常忘记做那件事,花了很多时间试图弄清楚为什么有些事情不起作用。另外,您的服务是什么,WCF?您应该为ListBox的ItemTemplate属性使用适当的DataTemplate,而不是在Player类中重写ToString。是的,我已经更新了我的服务引用。我将尝试在列表框中使用DataTemplate。DataTemplate是一个不错的选择,当你习惯了它时,它会非常强大。