Sdílet prostřednictvím


Otevření okna nebo dialogového okna (WPF .NET)

Můžete vytvořit vlastní okna a zobrazit je ve Windows Presentation Foundation (WPF). V tomto článku se dozvíte, jak zobrazit modální a bezmodální okna a dialogová okna.

Koncepčně platí, že okno a dialogové okno jsou stejné: zobrazí se uživateli, aby poskytl informace nebo interakci. Jsou to oba objekty "window". Návrh okna a způsob, jakým se používá, je to, co dělá dialogové okno. Dialogové okno je obecně malé a vyžaduje, aby na něj uživatel reagoval. Další informace naleznete v tématu Přehled oken WPF a dialogových oken přehled.

Pokud vás zajímá otevření dialogových oken operačního systému, podívejte se, jak otevřít běžné dialogové okno.

Otevřít jako modální

Při otevření modálního okna obvykle představuje dialogové okno. WPF omezuje interakci s modálním oknem a kód, který otevřel okno, se pozastaví, dokud se okno nezavře. Tento mechanismus poskytuje snadný způsob, jak uživatele vyzvat k zadání dat a počkat na odpověď.

ShowDialog Pomocí metody otevřete okno. Následující kód vytvoří instanci okna a otevře ho modálně. Kód, který okno otevírá, se pozastaví a čeká na zavření okna:

var window = new Margins();

window.Owner = this;
window.ShowDialog();
Dim myWindow As New Margins()

myWindow.Owner = Me
myWindow.ShowDialog()

Důležité

Po zavření okna nelze stejnou instanci objektu použít k opětovnému otevření okna.

Další informace o tom, jak zpracovat odpověď uživatele na dialogové okno, naleznete v tématu Přehled dialogových oken: Zpracování odpovědi.

Otevřít jako bez režimu

Otevření okna bez režimu znamená zobrazení jako normálního okna. Kód, který otevře okno, se bude dál spouštět, jakmile bude okno viditelné. Můžete se zaměřit na všechna bezmodální okna zobrazená aplikací a pracovat s nimi bez omezení.

Show Pomocí metody otevřete okno. Následující kód vytvoří instanci okna a otevře ho bez režimu. Kód, který otevře okno, se bude dál spouštět:

var window = new Margins();

window.Owner = this;
window.Show();
Dim myWindow As New Margins()

myWindow.Owner = Me
myWindow.Show()

Důležité

Po zavření okna nelze stejnou instanci objektu použít k opětovnému otevření okna.

Viz také