У меня есть 2 ContextMenus, а второй из них вызывается из первого.Проблемы с 2 ContextMenus
Handler для первого (создание второго):
private void MenuItem_Tap(object sender, System.Windows.Input.GestureEventArgs e)
{
MenuItem mI = (MenuItem)sender;
if (mI.Header.ToString() == "England")
{
cM.Items.Clear();
cM.Items.Add(new MenuItem() { Header = "Barclays PL" });
cM.Items.Add(new MenuItem() { Header = "Championship" });
cM.Items.Add(new MenuItem() { Header = "League 1" });
cM.Items.Add(new MenuItem() { Header = "League 2" });
cM.Items.Add(new MenuItem() { Header = "Conference" });
cM.Tap += MenuItem_Tap1;
//if (cM.Parent == null)
//{
cM.IsOpen = true;
//}
}
}
Обработчик второй:
private void MenuItem_Tap1(object sender, System.Windows.Input.GestureEventArgs e)
{
MenuItem mI1 = (MenuItem)sender;
if (mI.Header.ToString() == "Barclays PL")
this.NavigationService.Navigate(new Uri("/pEng.xaml", UriKind.Relative));
}
Но есть System.InvalidCastException во второй обработчик (MenuItem mi1 = (MenuItem) отправителя).
Пожалуйста, помогите мне, что случилось?
Каков тип отправителя? (Наведите указатель мыши на него и посмотрите на тип) –
ContextMenu. И в первом случае все правильно –