Использование событий / команд с 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;