Использование событий / команд с XamlReader

Я динамически строю свою таблицу данных, используя XamlReader.Parse (string). У меня проблема в том, что я не могу помещать события ни в один из элементов управления, созданных с помощью XamlReader. Проведя некоторые исследования в Интернете, я узнал, что это известное ограничение XamlReader.

Я не знаю много о командах в WPF, но могу ли я как-то использовать их для получения того же результата? Если так, то как? Если нет, то есть ли способ обработать событие в моем коде позади элемента управления, созданного с помощью Xaml Reader?

Ниже приведен пример таблицы данных, которую я создаю. У меня есть обработчик события MenuItem_Click, определенный в коде позади окна, в котором будет размещена эта таблица данных.

Я получаю следующую ошибку при попытке его запустить: System.Windows.Markup.XamlParseException не обработано: не удалось создать «щелчок» из текста «MenuItem_Click».

DataTemplate result = null;
        StringBuilder sb = new StringBuilder();

        sb.Append(@"<DataTemplate 
                        xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation'
                        xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml'>
                            <Grid Width=""Auto"" Height=""Auto"">

                            <TextBlock Text=""Hello"">
                                <TextBlock.ContextMenu>
                                    <ContextMenu>
                                         <MenuItem 
                                          Header=""World""
                                          Click=""MenuItem_Click""></MenuItem>
                                    </ContextMenu>
                                </TextBlock.ContextMenu>
                            </TextBlock>

                            </Grid>
                      </DataTemplate>");

        result = XamlReader.Parse(sb.ToString()) as DataTemplate;

Ответы на вопрос(2)

Ваш ответ на вопрос