Я объявил событие в своем классе UserControl Main:
public static readonly RoutedEvent CloseEvent = EventManager.RegisterRoutedEvent(
"CloseClick", RoutingStrategy.Bubble, typeof(RoutedEventHandler), typeof(Main));
public event RoutedEventHandler CloseClick
{
add { AddHandler(CloseEvent, value); }
remove { RemoveHandler(CloseEvent, value); }
}
Этот код должен быть действительным, поскольку я использовал его в других классах.Проблема в том, что я пытаюсь прослушать событие в другом классе.
UserControl content;
if (value == "main")
{
content = new Main();
content.CloseClick += new RoutedEventHandler(closeClick);
} else {
...
...
}
MasterPage.addContent(content);
Я хочу, чтобы «содержимое» было любого типа, производного от UserControl.Если я объявляю «content» как тип «Main», событие обнаруживается, но если оно объявлено как BaseClass «UserControl», все, кроме события, работает.Я что-то упустил?