【发布时间】:2011-10-11 07:43:04
【问题描述】:
我有一个 ListBox,其中包含一组对象(通过 ItemsSource 绑定到 ObservableCollection 链接)。我还没有使用动态绑定。它目前使用对象的ToString() 方法。 ToString() 方法以这种方式显示字符串:name (someOtherProperty)
但是,即使实现了 INotifyPropertyChanged 并且我使用 ObservableCollection,如果我更改项目属性,此字符串也不会更新。
我相信这是因为它只调用了一次ToString。相反,我想我必须使用数据绑定,但是 如何 我可以用它形成这样的字符串? >
谢谢。
【问题讨论】:
-
您断言它只会调用一次
ToString方法,因为它从未收到会导致它调用它的 PropertyChange 通知。我认为您可以通过执行PropertyChanged(null)来强制它再次调用ToString,这会告诉它再次检查所有绑定。除此之外,我不明白你的其余问题。 -
@CodingGorilla:这不行,因为一开始没有绑定,方法只是被执行,仅此而已。
-
是的,这就是我说“我认为...”的原因,我不确定,但认为这可能值得一试。似乎由于某种原因他不能或不想绑定到适当的属性。
-
我想要做的是显示两个属性而不是一个。
标签: wpf data-binding string-formatting