0

ここに簡単な質問があります。現時点では次のようなXAMLを使用しています。

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

私の意図は、ListBoxからデータコンテキストを取得し、そのFeedContextMenuプロパティをContextMenuのDataContextとして使用することです。これで、WPFの達人は、おそらくすぐにこれは機能しないと言うでしょう。どうやら、これはContextMenuがビジュアルツリーの一部ではないという事実と関係があります。現在、私はWPFの専門家ではないので、何時間もグーグルして、うまくいかず、まったく意味をなさないさまざまな提案された解決策を試した後、より知識のある人にそれを説明してもらいたいと思います。これが機能するためになぜ実行する必要があるのか​​。ありがとう。

4

1 に答える 1

4

次のように、ContextMenuのPlacementTarget(ListBox)のDataContextにバインドしようとすることができます。

<ContextMenu DataContext="{Binding PlacementTarget.DataContext.FeedContextMenu,
                                   RelativeSource={RelativeSource Self}}">
于 2013-01-21T12:46:08.010 に答える