绑定到集合的视图,只需在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中,我只想将列绑定到MoneyCollection
的ToString()
方法。 但是,将其直接绑定到TransactedMoney
属性会使每个条目显示文本“(Collection)”,并且永远不会调用ToString()
方法。
请注意, 我不想绑定到MoneyCollection中的项目 ,我想直接绑定到属性本身,只需在其上调用ToString()
。
我知道它绑定到集合的默认视图。 所以我的问题是 – 如何以一种调用ToString()
方法的方式将其绑定到集合?
这是我的第一个WPF项目,所以我知道这可能有点愚蠢,但指针非常受欢迎。
编写一个IValueConverter
实现,在绑定集合上调用ToString()并返回它,并在XAML绑定表达式中使用此转换器。
您可以在MyMoney
类中添加属性StringRepresentation或类似的东西。 如果您不想影响这个类,您应该编写一个包装器 – MyMoneyViewModel
,它将具有所有需要的属性。 这是一种常见的方式。 HIH!