Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento článek vás naučí, jak získat nebo nastavit hlavní okno aplikace pro Windows Presentation Foundation (WPF). Window První, která se vytvoří instance v rámci aplikace WPF, se automaticky nastaví Application jako hlavní okno aplikace. Na hlavní okno se odkazuje na Application.MainWindow vlastnost.
Šablona projektu bude v rámci vaší aplikace nastavena Application.StartupUri na soubor XAML, například _Window1.xaml_. Toto je první instance okna, která se zobrazí vaší aplikací, a stane se hlavním oknem.
Návod
Výchozím chováním aplikace je vypnutí při zavření posledního okna. Toto chování je řízeno Application.ShutdownMode vlastností. Místo toho můžete aplikaci nakonfigurovat tak, aby se v případě zavření ukončila MainWindow . Nastavte Application.ShutdownMode na povolení OnMainWindowClose tohoto chování.
Nastavení hlavního okna v XAML
Šablony, které generují aplikaci WPF, obvykle nastaví Application.StartupUri vlastnost na soubor XAML. Tato vlastnost je užitečná, protože:
- V projektu se dá snadno změnit na jiný soubor XAML.
- Automaticky vytvoří instanci a zobrazí zadané okno.
- Zadané okno se stane Application.MainWindow.
<Application x:Class="MainApp.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:MainApp"
StartupUri="Window1.xaml">
</Application>
Místo použití Application.StartupUrimůžete nastavit Application.MainWindow okno deklarované XAML. Zadané okno se ale nezobrazí a musíte nastavit jeho viditelnost.
<Application x:Class="MainApp.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:MainApp">
<Application.MainWindow>
<local:Window2 Visibility="Visible" />
</Application.MainWindow>
</Application>
Upozornění
Pokud nastavíte obě Application.StartupUri i Application.MainWindow vlastnosti, zobrazí se při spuštění aplikace obě okna.
Událost můžete také použít Application.Startup k otevření okna. Další informace naleznete v tématu Použití spouštěcí události k otevření okna.
Nastavení hlavního okna v kódu
První okno vytvořený vaší aplikací se automaticky stane hlavním oknem a nastaví se na Application.MainWindow vlastnost. Pokud chcete nastavit jiné hlavní okno, změňte tuto vlastnost na okno:
Application.Current.MainWindow = new Window2();
Application.Current.MainWindow.Show();
Application.Current.MainWindow = New Window2()
Application.Current.MainWindow.Show()
Pokud vaše aplikace nikdy nevytvořila instanci okna, je následující kód funkčně ekvivalentní předchozímu kódu:
var appWindow = new Window2();
appWindow.Show();
Dim appWindow As New Window2()
appWindow.Show()
Jakmile se vytvoří instance objektu okna, je přiřazena .Application.MainWindow
Získání hlavního okna
K okně vybranému jako hlavní okno se dostanete kontrolou Application.MainWindow vlastnosti. Následující kód při kliknutí na tlačítko zobrazí okno se zprávou s názvem hlavního okna:
private void Button_Click(object sender, RoutedEventArgs e) =>
MessageBox.Show($"The main window's title is: {Application.Current.MainWindow.Title}");
Private Sub Button_Click(sender As Object, e As RoutedEventArgs)
MessageBox.Show($"The main window's title is: {Application.Current.MainWindow.Title}")
End Sub
Viz také
.NET Desktop feedback