绑定到集合的视图,只需在WPF中调用ToString()

我将GridView绑定到一个对象集合,如下所示:

public class Transaction { public string PersonName { get; set; } public DateTime TransactionDate { get; set; } public MoneyCollection TransactedMoney { get; set;} } 

MoneyCollection只是inheritance自ObservableCollection ,是MyMoney类型对象的集合。

在我的GridView中,我只想将列绑定到MoneyCollectionToString()方法。 但是,将其直接绑定到TransactedMoney属性会使每个条目显示文本“(Collection)”,并且永远不会调用ToString()方法。

请注意, 我不想绑定到MoneyCollection中的项目 ,我想直接绑定到属性本身,只需在其上调用ToString()

我知道它绑定到集合的默认视图。 所以我的问题是 – 如何以一种调用ToString()方法的方式将其绑定到集合?

这是我的第一个WPF项目,所以我知道这可能有点愚蠢,但指针非常受欢迎。

编写一个IValueConverter实现,在绑定集合上调用ToString()并返回它,并在XAML绑定表达式中使用此转换器。

您可以在MyMoney类中添加属性StringRepresentation或类似的东西。 如果您不想影响这个类,您应该编写一个包装器 – MyMoneyViewModel ,它将具有所有需要的属性。 这是一种常见的方式。 HIH!