我有一个标签ng-show
事件的处理程序,它显示确认关闭消息。
如果用户选择否,我会设置Closing
,但如果他选择是关闭,我会从标签列表中删除该标签并执行其他操作,
当方法到达终点时,它会再次被调用,显示相同的消息,我尝试在方法的末尾设置e.Handled = true;
,但标签不会关闭。
e.Handled = true;
此方法订阅事件:
void oTab_TabClosing(object sender, RoutedEventArgs e)
{
var close = MainClass.ShowMessage(ResCommon.MsgConfirmClose, ResCommon.ttlClose, MainClass.MessageButtons.YesNO);
if (!close)
{
e.Handled = true;
return;
}
FabTab.FabTabItem oTabItem = (FabTab.FabTabItem)sender;
if (HtOpenTabs.ContainsKey(oTabItem.Name)) HtOpenTabs.Remove(oTabItem.Name);
oTabItem = null;
GC.Collect();
GC.WaitForPendingFinalizers();
}
答案 0 :(得分:0)
似乎在HtOpenTabs.Remove(oTabItem.Name);
在删除标签之前,请尝试取消订阅此事件处理程序。