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

时间:2010-05-27 23:39:01

标签: c# wpf data-binding gridview collections

我将GridView绑定到一个看起来像这样的对象集合:

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

MoneyCollection只是继承自ObservableCollection<T>,是MyMoney类型对象的集合。

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

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

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

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

2 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:3)

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