Ну, у меня есть элемент управления, помещенный в usercontrol, и он предоставляет ICommand с DepenceyPropety (ShowCommand),
а затем у меня есть сетка данных (wpf toolkit) с несколькими столбцами, и в одном из них есть кнопка удаления
<Custom:DataGrid Margin="0" ItemsSource="{Binding Todos}" AutoGenerateColumns="False">
<Custom:DataGrid.Columns>
<Custom:DataGridTextColumn Header="Name" Binding="{Binding Name}"/>
<Custom:DataGridTemplateColumn>
<Custom:DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Button CommandParameter="{Binding}"
Command="{Binding ElementName=ConfirmDeleteDialog, Path=ShowCommand}"
Content="Delete" />
</DataTemplate>
</Custom:DataGridTemplateColumn.CellTemplate>
</Custom:DataGridTemplateColumn>
</Custom:DataGrid.Columns>
</Custom:DataGrid>
<local:ConfirmationDialog x:Name="ConfirmDeleteDialog"
Title="Confirm delete!"
d:LayoutOverrides="Width"
Message="Are you sure that you want to delete the selected todo?"
YesCommand="{Binding DeleteCommand}" />
и, так как я в DataTemplate, он не находит элемент, и я не могу объединить ElementName и относительный источник, так как я могу определить привязку, которая может получить доступ к элементу, объявленному вне таблицы данных?
Команда, к которой я пытаюсь привязаться, находится в ConfirmationDialog.YesCommand ..