【问题标题】:How to bind WPF ContextMenu ItemsSource?如何绑定 WPF ContextMenu ItemsSource?
【发布时间】:2012-10-29 17:14:09
【问题描述】:

我正在尝试以这种方式绑定 Button 的上下文菜单:

<Button.ContextMenu>
    <ContextMenu ItemsSource="{Binding RelativeSource={RelativeSource AncestorType=UserControl}, Path=Values}"/>
</Button.ContextMenu>

(UserControl 具有 Values 属性)。

为什么这不起作用? 但是,当我将此绑定放入 &lt;TextBlock Text='{Binding ...}'/&gt; 等其他控件时,它可以正常工作。

另一个问题,如何调试 WPF 中的绑定问题?

【问题讨论】:

    标签: .net wpf xaml data-binding itemssource


    【解决方案1】:

    它不起作用,因为 ContextMenu 不是可视化或逻辑树的一部分,因此它不会像其他控件那样继承 DataContext。它不是你控制的孩子。

    您可以做的是使用 ContextMenu 的 PlacementTarget 属性来获取 ContextMenu 附加到的父元素并从那里开始。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-07
      • 1970-01-01
      • 2010-12-07
      • 1970-01-01
      • 2013-07-09
      相关资源
      最近更新 更多