这是一个简单的问题。我有一个XAML,目前看起来像这样:
<ListBox>
<ListBox.ContextMenu>
<ContextMenu DataContext="{Binding Path=FeedContextMenu}"
</ListBox.ContextMenu>
</ListBox>
我的目的是从ListBox中获取数据上下文,并将其FeedContextMenu
属性用作ContextMenu的DataContext。现在你所有的WPF大师都可能会立即说这不起作用。显然,这与ContextMenu不是可视树的一部分有关。现在我不是WPF的专家,所以经过谷歌搜索几个小时并尝试了不同的建议解决方案,这些解决方案对我来说既不起作用也没有任何意义,我想请一位有更多知识的人向我解释 和为什么需要完成才能实现这一目标。感谢。
答案 0 :(得分:4)
您可以尝试绑定到ContextMenu的PlacementTarget(这是ListBox)的DataContext,如下所示:
<ContextMenu DataContext="{Binding PlacementTarget.DataContext.FeedContextMenu,
RelativeSource={RelativeSource Self}}">