【问题标题】:Is there an equivalent of DependencyObjectCollection<T> for WPF .NET4.0?WPF .NET4.0 是否有等效的 DependencyObjectCollection<T>?
【发布时间】:2013-01-08 22:19:55
【问题描述】:

该类允许将数据上下文从集合传播到其成员。但这仅适用于 SilverLight。

更多关于DepedencyObjectCollection的信息可以在post找到。

如果不存在等价物,创建一个所需的必要步骤是什么?

我观察到 RowDefinitionCollection 类的欲望行为。但我无法弄清楚它的实现。

谢谢

【问题讨论】:

  • 伙计,我等不及 .Net 40 了!
  • 您是否在寻找System.Collections.ObjectModel.ObservableCollection&lt;T&gt;
  • 没有。 ObservableCollection 不会将数据上下文传递给它的元素。为了使数据绑定起作用,T 必须从 DependencyObject 继承。 ObservableCollection 的 T 没有约束,所以它不能开箱即用。

标签: c# wpf silverlight xaml


【解决方案1】:

简短的回答是否定的。

但我不再认为它是正确的实现方式。我最终使用了一个 FrameworkElement 集合并将它们添加到自定义控件的 LogicalChildren 中。通过这样做,DataContext 自然地传递给 FrameworkElement,一切都按预期工作。

似乎这就是 RowDefinition 类在 .NET 4.0 中的实现方式。但是,RowDefinition 的 Silverlight 版本是直接从 DependencyObject 派生的。 MSDN 文档默认显示 Silverlight 文档,并误导我使用较旧且不正确的方法。

【讨论】:

    猜你喜欢
    • 2012-02-26
    • 2021-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-11
    相关资源
    最近更新 更多