Я не понимаю, почему кнопка внутри таблички данных может знать, что загруженное событие находится в коде, но не может просто использовать код в качестве контекста данных.
Я знаю решения для решения этой проблемы, но я не уверен, почему не так просто привязать команду к кнопке в табличке данных.
Xaml
<grid:RadDataGrid Margin="0" ItemsSource="{x:Bind _viewModel.Data, Mode=OneWay}" Width="600" HorizontalAlignment="Left">
<grid:RadDataGrid.Columns>
<grid:DataGridTemplateColumn Header="Delete" SizeMode="Fixed">
<grid:DataGridTemplateColumn.CellContentTemplate>
<DataTemplate>
<StackPanel x:Name="stackPanel" Style="{StaticResource ResourceKey=RadDataGridButtonPanel}">
<Button Command="{Binding _viewModel.DeleteCommand, ElementName=deleteView}" Loaded="DeleteButton_Loaded">
</Button>
</StackPanel>
</DataTemplate>
</grid:DataGridTemplateColumn.CellContentTemplate>
</grid:DataGridTemplateColumn>
</grid:RadDataGrid.Columns>
</grid:RadDataGrid>
Код позади
private readonly ViewModel _viewModel;
public DeleteView()
{
this.InitializeComponent();
_viewModel = new ViewModel();
this.DataContext = _viewModel;
}
private void DeleteButton_Loaded(object sender, Windows.UI.Xaml.RoutedEventArgs e)
{
}