【问题标题】:WPF: DataContext dependency property in non - GUI - classes?WPF:非 GUI 类中的 DataContext 依赖属性?
【发布时间】:2011-03-31 22:31:10
【问题描述】:

是否可以在一个不是从“FrameworkElement”派生的类中拥有一个依赖属性“DataContext”(但它可以从“DependencyObject”派生)?

我已经尝试并创建了一个类(我将其添加到 Window.Resources),但 DataContext 始终为空。

有什么想法吗?

【问题讨论】:

  • 你想要完成什么?
  • 未来的计划是将 XAML 与数据绑定一起使用,但不使用 WPF。如果我完成了这件事,我什至可以提供一个非常好的开源 - 框架来做这件事。开箱即用 - 我将使用 XAML 作为对象创建工具,利用数据绑定,但(如我所说)不使用 WPF。而且我会填补一个人们甚至认为它不存在的利基,呵呵……然而,到目前为止,我展示我的想法的少数人都惊呆了。
  • 我不知道这是否是您要寻找的,但我知道有非FrameworkElement(和非FrameworkContentElement)类可以“继承”其父级的DataContext捆绑。例如,在 WPF 4 中,您可以绑定 InputBinding 的 Command 属性,它使用其父级的 DataContext。见:tomlev2.wordpress.com/2009/10/26/…也许你可以深入研究一下,看看它是否暗示了什么。

标签: wpf datacontext dependency-properties


【解决方案1】:

您是否尝试过使用 AddOwner 方法? 示例(FrameworkContentElement):

DataContextProperty = FrameworkElement.DataContextProperty.AddOwner(typeof(FrameworkContentElement), new FrameworkPropertyMetadata(null, FrameworkPropertyMetadataOptions.Inherits, new PropertyChangedCallback(FrameworkContentElement.OnDataContextChanged)));

如果您省略回调/选项 .. 它可能会起作用。

【讨论】:

    猜你喜欢
    • 2011-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-27
    • 2014-05-23
    相关资源
    最近更新 更多