在 Shell 中加载所有区域后打开对话框
Opening a dialog when all regions are loaded in Shell
我有一个使用 Prism 框架的 WPF 应用程序。它具有三个在 shell 中加载的区域。现在,我有一个要求,一旦加载主要 window(所有区域),就必须显示一个对话框。即对话框应该显示在主要 window 之上。我试图在 shell 初始化期间发布一个事件,但是仅当我关闭 main window 时才显示对话框,或者如果在区域的用户控件构造函数之一中发布事件,它首先显示对话框,然后在关闭 main 对话框时显示window 负载。现在,我在想是否有任何方法可以找到是否所有区域都通过事件加载,然后我可以在那里发布事件。
问题:
1. 是否有任何事件可以用来检测是否所有区域都已加载?
2. 是否有任何其他方法可以指导我实现此要求?
把它放在父控件的构造函数中
Dispatcher.BeginInvoke(DispatcherPriority.Loaded, new Action(() => {code that should be executed after all children are loaded} ));
Is there any event that I can use to detect if all the regions are loaded?
覆盖 PrismApplicationBase.OnInitialized
并从那里调用 IDialogService
。
我有一个使用 Prism 框架的 WPF 应用程序。它具有三个在 shell 中加载的区域。现在,我有一个要求,一旦加载主要 window(所有区域),就必须显示一个对话框。即对话框应该显示在主要 window 之上。我试图在 shell 初始化期间发布一个事件,但是仅当我关闭 main window 时才显示对话框,或者如果在区域的用户控件构造函数之一中发布事件,它首先显示对话框,然后在关闭 main 对话框时显示window 负载。现在,我在想是否有任何方法可以找到是否所有区域都通过事件加载,然后我可以在那里发布事件。 问题: 1. 是否有任何事件可以用来检测是否所有区域都已加载? 2. 是否有任何其他方法可以指导我实现此要求?
把它放在父控件的构造函数中
Dispatcher.BeginInvoke(DispatcherPriority.Loaded, new Action(() => {code that should be executed after all children are loaded} ));
Is there any event that I can use to detect if all the regions are loaded?
覆盖 PrismApplicationBase.OnInitialized
并从那里调用 IDialogService
。