【问题标题】:Get binding target from source?从源获取绑定目标?
【发布时间】:2011-02-03 12:26:28
【问题描述】:

我有一个 ListView,它的 ItemsSource 绑定到 ObservableCollection。该集合充满了“WaypointItem”对象(我们使用列表视图的信息定义的一个小类)。

WaypointItem 是我们每一行的绑定源,但是有什么神奇的方法可以从 WaypointItem 代码中获取对绑定到此类的所有对象(目标)的引用?

谢谢 杰森

【问题讨论】:

  • 这并不容易,但很少有必要:WPF 架构的一个关键方面是模型(数据对象、绑定源)不需要知道谁绑定到它们:东西在视图中处理(框架元素,绑定目标)。这有助于将模型与视图分离。所以可能有更好的方法来做你想做的事。您能说一下您希望能够对绑定目标列表做什么吗?

标签: wpf data-binding binding


【解决方案1】:

BindingOperations 类中可能有一些有用的东西。不幸的是,绑定的目标实际上可能是项目演示者的 DataContext(如果我正确理解您的描述),这意味着您的 WaypointItem 可能无法分辨可能绑定到它的内容。

一种不太现实的可能性是实现一个自定义的 IValueConverter,它通过定义明确的接口通知您的 WaypointItem 它已绑定到某物。它会在每次更新时发送此通知,因此您需要妥善处理。

【讨论】:

  • 感谢您的信息!我只是懒惰,有了更多的代码,我不需要再反转这些绑定了。
  • 这是一个老问题,但我刚刚接受了 BindingOperations 文档链接的答案,但也接受了否定答案(“您的 WaypointItem 可能无法分辨可能绑定到它的内容”)导致我意识到这并不容易,我需要重新考虑设计,因此首先不需要“反转”绑定。
猜你喜欢
  • 2014-02-25
  • 1970-01-01
  • 1970-01-01
  • 2010-10-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-14
  • 1970-01-01
相关资源
最近更新 更多