我有點迷失了綁定。 我在過去一小時嘗試了很多東西,我無法列舉所有這些。 DataTemplate中的contextMenu有問題。如何將命令綁定到DataTemplate中的ContextMenu中
解釋:我有一個UserControl
。它的dataContext本身。在UserControl
裏面,我有一個ItemsControl來表示一個超鏈接列表。我的ItemsControl
itemsSource
被綁定(它由對象元素組成)。 我重新定義了ItemsControl.ItemTemplate
。在裏面,我創建了一個HyperLink,TextBlock
作爲孩子,使其工作,並在此TextBlock
,我通過執行以下設置ContextMenu
。
<TextBlock.ContextMenu>
<ContextMenu DataContext="{Binding PlacementTarget, RelativeSource={RelativeSource Self}}">
<MenuItem Header="Enregistrer la pièce jointe" Foreground="Black">
<MenuItem Header="Dans le dossier patient" Command="{Binding DataContext.SaveAttachmentIntPatientFolderCommand, RelativeSource={RelativeSource AncestorType=UserControl}}" CommandParameter="{Binding FilePath}" Foreground="Black" />
<MenuItem Header="Enregistrer sous ..." Command="{Binding DataContext.SaveAttachmentAsCommand}" CommandParameter="{Binding FilePath}" Foreground="Black" />
</MenuItem>
</ContextMenu>
</TextBlock.ContextMenu>
所以我
UserControl --> ItemsControl --> ItemTemplate --> HyperLink --> TextBlock --> ContextMenu --> ContextMenuItem
我知道,我的第一個相對源不工作,我有一個綁定錯誤。我想要的是綁定在我的UserContorl datacontext上,它們具有這些命令。
我該怎麼辦?
感謝
真的很聰明!非常感謝 – cdie