У меня есть проблема с пользовательским элементом управления, который я написал, не вызывая его событие ContextMenuOpening, когда я подключаю его программно. Элемент управления в основном является оболочкой для стандартного TextBox:
public class MyTextBox : TextBox
{
public MyTextBox()
{
this.ContextMenuOpening += new ContextMenuEventHandler(MyTextBox_ContextMenuOpening);
}
void MyTextBox_ContextMenuOpening(object sender, ContextMenuEventArgs e)
{
MessageBox.Show("ContextMenuOpening event fired");
}
}
Нет ничего подозрительного и в XAML:
<local:MyTextBox Height="25" Width="300"/>
По какой-то причине я никогда не смогу запустить событие. Я пытаюсь перехватить контекстное меню, чтобы я мог изменить его (оно зависит от контекста), и действительно стараюсь избегать подключения события везде, где используется элемент управления - конечно, это возможно?