【问题标题】:ContextMenu datacontext bindingContextMenu 数据上下文绑定
【发布时间】:2013-01-04 12:04:03
【问题描述】:

这是一个简单的问题。我有一个 XAML,目前看起来像这样:

<ListBox>
     <ListBox.ContextMenu>
            <ContextMenu DataContext="{Binding Path=FeedContextMenu}"
     </ListBox.ContextMenu>
</ListBox>

我的意图是从 ListBox 中获取数据上下文,并将其 FeedContextMenu 属性用作 ContextMenu 的 DataContext。现在你所有的 WPF 专家可能会立即说这行不通。显然,这与 ContextMenu 不是可视化树的一部分这一事实有关。现在我不是 WPF 专家,所以在谷歌搜索了几个小时并尝试了不同的建议解决方案之后,这些解决方案对我来说不起作用也没有任何意义,我想请一位知识渊博的人向我解释一下 需要完成什么为什么才能使其发挥作用。谢谢。

【问题讨论】:

    标签: c# wpf binding


    【解决方案1】:

    您可以尝试像这样绑定到 ContextMenu 的 PlacementTarget(即 ListBox)的 DataContext:

    <ContextMenu DataContext="{Binding PlacementTarget.DataContext.FeedContextMenu,
                                       RelativeSource={RelativeSource Self}}">
    

    【讨论】:

    • 嗯,这解决了我的问题。我想我只需要研究所有这些绑定选项在 MSDN 上的作用。
    • 你可以从Data Binding Overview开始:-)
    猜你喜欢
    • 2016-05-23
    • 1970-01-01
    • 2015-07-04
    • 2016-04-28
    • 1970-01-01
    • 1970-01-01
    • 2018-07-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多