Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果我有一个已打开的窗口,如何防止WPF窗口打开?_Wpf_Mvvm_Prism 4 - Fatal编程技术网

如果我有一个已打开的窗口,如何防止WPF窗口打开?

如果我有一个已打开的窗口,如何防止WPF窗口打开?,wpf,mvvm,prism-4,Wpf,Mvvm,Prism 4,我有一个打开的窗口,并且我正在使用.Show()方法,如果我有一个打开的窗口,我想阻止任何其他窗口被打开。ShowDialog()以外的内容。在以某种方式打开窗口时,跟踪打开窗口的数量。例如: public class WindowService { private const int MaxNumberOfOpenWindows = 1; private int _currentNumberOfOpenWindows = 0; public void OpenWind

我有一个打开的窗口,并且我正在使用.Show()方法,如果我有一个打开的窗口,我想阻止任何其他窗口被打开。ShowDialog()以外的内容。

在以某种方式打开窗口时,跟踪打开窗口的数量。例如:

public class WindowService
{
    private const int MaxNumberOfOpenWindows = 1;
    private int _currentNumberOfOpenWindows = 0;

    public void OpenWindow()
    {
        if (_currentNumberOfOpenWindows != MaxNumberOfOpenWindows)
        {
            Window window = new Window();
            window.Closed += Window_Closed;
            window.Show();
            _currentNumberOfOpenWindows++;
        }
    }

    private void Window_Closed(object sender, EventArgs e)
    {
        Window window = (Window)sender;
        window.Closed -= Window_Closed;
        _currentNumberOfOpenWindows--;
    }
}

任何其他窗口或任何其他相同类型的窗口?不,不同类型。