Så här öppnar du ett fönster eller en dialogruta (WPF .NET)
Du kan skapa egna fönster och visa dem i Windows Presentation Foundation (WPF). I den här artikeln får du lära dig hur du visar modala och lägeslösa fönster och dialogrutor.
Konceptuellt är ett fönster och en dialogruta samma sak: de visas för en användare för att tillhandahålla information eller interaktion. Båda är "fönster"-objekt. Designen av fönstret och hur det används är det som gör en dialogruta. En dialogruta är vanligtvis liten och kräver att användaren svarar på den. Mer information finns i Översikt över WPF-fönster och Översikt över dialogrutor.
Om du är intresserad av att öppna dialogrutor för operativsystem kan du läsa Så här öppnar du en gemensam dialogruta.
Öppna som modalfönster
När ett modalt fönster öppnas representerar det vanligtvis en dialogruta. WPF begränsar interaktionen till det modala fönstret och koden som öppnade fönstret pausas tills fönstret stängs. Den här mekanismen är ett enkelt sätt för dig att fråga användaren om data och vänta på deras svar.
Använd metoden ShowDialog för att öppna ett fönster. Följande kod instansierar fönstret och öppnar det modalt. Koden som öppnar fönstret pausas och väntar på att fönstret ska stängas:
var window = new Margins();
window.Owner = this;
window.ShowDialog();
Dim myWindow As New Margins()
myWindow.Owner = Me
myWindow.ShowDialog()
Viktig
När ett fönster har stängts kan samma objektinstans inte användas för att öppna fönstret igen.
Mer information om hur du hanterar användarsvaret i en dialogruta finns i översikten över Dialogrutor: Bearbeta svaret.
Öppna som modellös
Att öppna ett modellöst fönster innebär att det visas som ett normalt fönster. Koden som öppnar fönstret fortsätter att köras när fönstret blir synligt. Du kan fokusera och interagera med alla modallösa fönster som visas av ditt program, utan begränsning.
Använd metoden Show för att öppna ett fönster. Den följande koden instansierar fönstret och öppnar det som ett icke-modalt fönster. Koden som öppnar fönstret fortsätter att köras:
var window = new Margins();
window.Owner = this;
window.Show();
Dim myWindow As New Margins()
myWindow.Owner = Me
myWindow.Show()
Viktig
När ett fönster har stängts kan samma objektinstans inte användas för att öppna fönstret igen.
Se även
.NET Desktop feedback