C# 类的ListBox和ToString重写
我有一个叫做Player的类: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
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是一个不错的选择,当你习惯了它时,它会非常强大。