Udostępnij za pośrednictwem


Jak otworzyć okno lub okno dialogowe (WPF .NET)

Możesz utworzyć własne okna i wyświetlić je w programie Windows Presentation Foundation (WPF). W tym artykule dowiesz się, jak wyświetlać modalne i moderacyjne okna i okna dialogowe.

Koncepcyjnie okno i okno dialogowe są takie same: są wyświetlane użytkownikowi w celu dostarczenia informacji lub interakcji. Są to obiekty "window". Projekt okna i sposób jego użycia jest tym, co sprawia, że okno dialogowe. Okno dialogowe jest zazwyczaj małe i wymaga od użytkownika odpowiedzi. Aby uzyskać więcej informacji, zobacz Omówienie okien WPF i okien dialogowych — omówienie.

Jeśli interesuje Cię otwieranie okien dialogowych systemu operacyjnego, zobacz Jak otworzyć typowe okno dialogowe.

Otwieranie jako modalne

Po otwarciu modalnego okna zazwyczaj reprezentuje okno dialogowe. WPF ogranicza interakcję z modalnym oknem, a kod, który otworzył okno, wstrzymuje się do momentu zamknięcia okna. Ten mechanizm umożliwia łatwe monitowanie użytkownika o dane i oczekiwanie na ich odpowiedź.

ShowDialog Użyj metody , aby otworzyć okno. Poniższy kod tworzy wystąpienie okna i otwiera go modalnie. Kod otwierający okno zostanie wstrzymany, czekając na zamknięcie okna:

var window = new Margins();

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

myWindow.Owner = Me
myWindow.ShowDialog()

Ważne

Po zamknięciu okna nie można użyć tego samego wystąpienia obiektu do ponownego otwarcia okna.

Aby uzyskać więcej informacji na temat obsługi odpowiedzi użytkownika na okno dialogowe, zobacz Omówienie okien dialogowych: Przetwarzanie odpowiedzi.

Otwórz jako bez moderowania

Otwarcie okna bez moderowania oznacza wyświetlenie go jako normalnego okna. Kod, który otwiera okno, nadal działa, gdy okno staje się widoczne. Możesz skoncentrować się na wszystkich oknach bez moderowania wyświetlanych przez aplikację i korzystać z niej bez ograniczeń.

Show Użyj metody , aby otworzyć okno. Poniższy kod tworzy wystąpienie okna i otwiera go bez moderowania. Kod otwierający okno jest nadal uruchamiany:

var window = new Margins();

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

myWindow.Owner = Me
myWindow.Show()

Ważne

Po zamknięciu okna nie można użyć tego samego wystąpienia obiektu do ponownego otwarcia okna.

Zobacz też