Я немного потерялся с привязками. Я пробовал столько всего за последний час, я не могу перечислить их всех. У меня проблема с contextMenu внутри DataTemplate.Как связать команду с ContextMenu в DataTemplate
Чтобы пояснить: У меня есть 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