我将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项目,所以我知道这可能有点愚蠢,但指针非常受欢迎。
答案 0 :(得分:4)
您可以在MyMoney
类中添加属性StringRepresentation或类似的内容。如果您不想影响这个类,您应该编写一个包装器 - MyMoneyViewModel
,它将具有所有需要的属性。这是一种常见的方式。 HIH!
答案 1 :(得分:3)
编写一个IValueConverter
实现,在绑定集合上调用ToString()并返回它,并在XAML绑定表达式中使用此转换器。