Да, при условии, что у вас есть только один активный за один раз:
public MainWindow()
{
InitializeComponent();
this.Loaded += (s1, e1) =>
{
var window1 = new Window();
window1.Owner = this;
window1.Content = new TextBlock { Text = "This is modal window 1" };
window1.Loaded += (s2, e2) =>
{
var window2 = new Window();
window2.Owner = window1;
window2.Content = new TextBlock { Text = "This is modal window 2" };
window2.ShowDialog();
};
window1.ShowDialog();
};
}
}
Этот конкретный код немного запутан, он просто демонстрирует, что это возможно.Если вы хотите более надежный пример, тогда посмотрите мою статью о реализации диалоговых окон в MVVM .
. Также можно установить window2.Owner
в this
и получить два активных модальных диалоговых окна.в то же время, но это означает, что вы должны полагаться на Alt-Tab или программный контроль для переключения между ними.Это почти наверняка не то поведение, которое вам нужно, но, опять же, это возможно в крайне редких случаях, когда вы захотите сделать это.