防止多个窗口实例

pro*_*nis 2 wpf

我怎么能阻止从wpf应用程序打开多个窗口?

我需要从菜单中打开一个窗口,如果我再次单击打开它,我希望已打开的窗口变为活动状态.

有什么建议?

Pav*_*kov 5

您可以使用该Application.Current.Windows集合.只需检查此集合是否包含您要打开的窗口,如果是,请激活它,否则创建新窗口并显示它:

var existingWindow = Application.Current.Windows.Cast<Window>().SingleOrDefault(w => /* return "true" if 'w' is the window your are about to open */);

if (existingWindow != null) {
    existingWindow.Activate();
}
else {
    // Create and show new window
}
Run Code Online (Sandbox Code Playgroud)