Как кнопка внутри DataTemplate может регистрировать и прослушивать загруженное событие кнопки в коде позади, но не может получить доступ к текстовому тексту данных? - PullRequest
0 голосов
/ 21 апреля 2020

Я не понимаю, почему кнопка внутри таблички данных может знать, что загруженное событие находится в коде, но не может просто использовать код в качестве контекста данных.

Я знаю решения для решения этой проблемы, но я не уверен, почему не так просто привязать команду к кнопке в табличке данных.

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)
        {

        }
...