ContextMenu datacontext绑定

时间:2013-01-21 12:24:18

标签: c# wpf binding

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

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

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

1 个答案:

答案 0 :(得分:4)

您可以尝试绑定到ContextMenu的PlacementTarget(这是ListBox)的DataContext,如下所示:

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