【问题标题】:WPF How To Bind Two Nested UsercontrolsWPF 如何绑定两个嵌套的用户控件
【发布时间】:2010-12-20 19:28:47
【问题描述】:

我需要将用户控件数据上下文与其他控件属性绑定:

    <StackPanel>
        <custom:UserControl1 x:Name="UC1"/>
    </StackPanel>

    <StackPanel>
        <custom:UserControl2 DataContext="{Binding ElementName=UC1, Path=MySelectedValue}"/>
    </StackPanel>

当然,我已经在 UserControl1 上实现了依赖属性“MySelectedValue”。 以下不起作用。我猜是因为它在可视化树上搜索 ElementName 并找不到它,因为两个控件都是并行嵌套的。

我怎样才能使上述工作?

谢谢,

【问题讨论】:

  • 奇怪,它应该可以工作。调试时可以尝试设置PresentationTraceSources.TraceLevel=High。请参阅wpftutorial.net/DebugDataBinding.htmlbea.stollnitz.com/blog/?p=52。 HTH。
  • 经过进一步审查,我也同意。我用给定的信息尝试了一个简单的复制,它对我有用。您能否提供任何其他详细信息?
  • 你们完全正确。我的依赖属性没有正确实现。弗拉德,请为此添加一个答案,以便我将其标记为正确答案。

标签: wpf wpf-controls binding


【解决方案1】:

您是如何定义 MySelectedValue DependencyProperty 的(是否设置为 BindsTwoWayByDefault)?

【讨论】:

    【解决方案2】:

    弗拉德为我解决了这个问题,并提到一切都很好! 我的依赖属性没有正确定义。

    即使元素与调用元素并行嵌套,“ElementName”绑定似乎也有效。

    谢谢。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-29
      • 2017-07-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多