PRISM 5:不止一次调用IConfirmNavigationRequest方法

时间:2015-03-03 14:25:06

标签: c# wpf prism

我正在使用PRISM和Unity扩展程序。

WPF按钮命令调用以下代码并显示对话框:

 private void LaunchDialog() 
 {
        Bootstrapper bootstrapper = new  Bootstrapper();
        bootstrapper.Run();
        bootstrapper.MyShell.Owner = Application.Current.MainWindow;
        bootstrapper.MyShell.ShowDialog();
} 

当我第一次点击LaunchDialog时,PRISM导航方法OnNavigatedFromOnNavigatedTo会拨打一次。我关闭了对话框,

当我下次点击LaunchDialog时,PRISM导航方法OnNavigatedFromOnNavigatedTo会被调用两次。我关闭了对话框,

如果我第三次点击LaunchDialogPRISM导航方法OnNavigatedFromOnNavigatedTo将被调用三次。我关闭对话框,

如何摆脱这种行为?因此,即使用户多次点击LaunchDialog,导航方法也会在首次启动时调用一次。

1 个答案:

答案 0 :(得分:0)

我刚刚添加了bootstrapper.Container.RemoveAllExtensions()来摆脱这种行为。

private void LaunchDialog() 
{
        Bootstrapper bootstrapper = new  Bootstrapper();
        bootstrapper.Run();
        bootstrapper.MyShell.Owner = Application.Current.MainWindow;
        bootstrapper.MyShell.ShowDialog();
        bootstrapper.Container.RemoveAllExtensions();
}