Partager via


Application.MainWindow Propriété

Définition

Obtient ou définit la fenêtre principale de l'application.

public:
 property System::Windows::Window ^ MainWindow { System::Windows::Window ^ get(); void set(System::Windows::Window ^ value); };
public System.Windows.Window MainWindow { get; set; }
member this.MainWindow : System.Windows.Window with get, set
Public Property MainWindow As Window

Valeur de propriété

Window désignée comme fenêtre d'application principale.

Exceptions

MainWindow est défini à partir d’une application hébergée dans un navigateur, telle qu’une application de navigateur XAML (XBAPs).

Exemples

L’exemple suivant montre comment rechercher la fenêtre principale de l’application.

// Get the main window
Window mainWindow = this.MainWindow;
' Get the main window
Dim mainWindow As Window = Me.MainWindow

L’exemple suivant montre comment définir MainWindow à l’aide de XAML.

<Application 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    StartupUri="StartupWindow.xaml"
    >
  <Application.MainWindow>
    <NavigationWindow Source="MainPage.xaml" Visibility="Visible"></NavigationWindow>
  </Application.MainWindow>
</Application>

L’exemple suivant montre comment instancier le dans le code au démarrage de l’application MainWindow .

public partial class App : Application
{
    void App_Startup(object sender, StartupEventArgs e)
    {
        MainWindow window = new MainWindow();
        window.Show();
    }
}
Partial Public Class App
    Inherits Application
    Private Sub App_Startup(ByVal sender As Object, ByVal e As StartupEventArgs)
        Dim window As New MainWindow()
        window.Show()
    End Sub
End Class

Remarques

MainWindow est automatiquement défini avec une référence au premier Window objet à instancier dans le AppDomain.

Vous pouvez spécifier une autre fenêtre principale en affectant MainWindow un autre Windows objet à la MainWindow propriété .

Si la ShutdownMode propriété de l’objet Application est définie sur OnMainWindowClose, la fermeture de la fenêtre principale entraîne l’arrêt de l’application.

Il est possible de définir la MainWindow propriété à partir de XAML, si la fenêtre principale d’une application n’est pas la fenêtre générée en définissant la StartupUri propriété en XAML. Les deux limitations de l’approche XAML sont les suivantes :

  • Vous pouvez spécifier une fenêtre principale xaml uniquement Window ou XAML uniquement NavigationWindow .

  • Vous devez définir la Visibility propriété de la fenêtre que vous spécifiez, sinon elle ne s’affiche pas.

La référence au premier Window objet à instancier est également ajoutée en tant que premier élément à la Windows collection. Si MainWindow est défini par la suite avec une référence à un autre Window, la position de l’élément avec la référence à la fenêtre principale change, tandis que l’ordre des éléments dans Windows reste le même. Par conséquent, utilisez MainWindow toujours pour faire référence à la fenêtre principale au lieu du premier élément dans Windows.

Notes

Si la fenêtre principale est un et que vous avez besoin d’un NavigationWindowaccès spécifique aux NavigationWindow membres, vous devez convertir la valeur de MainWindow en NavigationWindow.

Cette propriété est disponible uniquement à partir du thread qui a créé l’objet Application .

S’applique à

Voir aussi