64 votes

Rendre l'application WPF plein écran (couvrir le menu de démarrage)

Je voudrais que mon application WPF soit en plein écran. Actuellement, le menu de démarrage l'empêche de tout couvrir et décale mon application vers le haut. Voici ce que j'ai pour mon code MainWindow.xaml :

<Window x:Class="HTA.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    mc:Ignorable="d" 
    WindowStyle="None" ResizeMode="NoResize"
    WindowStartupLocation="CenterScreen" 
    Width="1024" Height="768">

152voto

Nuno Ramiro Points 706

Vous manquez probablement le WindowState="Maximized" essayez ce qui suit :

<Window x:Class="HTA.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="350" Width="525"
    WindowStyle="None" ResizeMode="NoResize"  
    WindowStartupLocation="CenterScreen" WindowState="Maximized">

8voto

Jeba Ra Points 336
<Window x:Class="HTA.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    mc:Ignorable="d" 
    ResizeMode="NoResize"
    WindowStartupLocation="CenterScreen" 
    Width="1024" Height="768"
    WindowState="Maximized" WindowStyle="None">

L'état de la fenêtre devient Maximisé et le style de la fenêtre devient Aucun.

3voto

Chets Points 238

Vous pouvez également le faire au moment de l'exécution comme suit :

  • Attribuer un nom à la fenêtre (x:Name = "HomePage")
  • Dans le constructeur, il suffit de définir la propriété WindowState sur Maximized comme suit

HomePage.WindowState = WindowState.Maximized ;

8 votes

Il ne faut pas utiliser le codebehind pour les propriétés qui peuvent être définies dans le xaml.

2 votes

@PetervanKekem C'est très utile lorsque la fenêtre n'est pas maximisée par défaut mais qu'elle est maximisée lorsque l'utilisateur le souhaite en cliquant sur un bouton, etc.

0 votes

C'est vrai, mais dans la réponse, il est défini dans le constructeur. (Si vous utilisez le modèle MVVM, vous devez utiliser la classe ViewModel pour cela et lier l'état de la fenêtre à la propriété).

3voto

Alex Zaitsev Points 176
window.WindowStyle = WindowStyle.None;
window.ResizeMode = ResizeMode.NoResize;
window.Left = 0;
window.Top = 0;
window.Width = SystemParameters.VirtualScreenWidth;
window.Height = SystemParameters.VirtualScreenHeight;
window.Topmost = true;

Fonctionne avec plusieurs écrans

2voto

kabinx Points 25

Quand vous le faites par code l'astuce consiste à appeler

WindowStyle = WindowStyle.None;

d'abord et ensuite

WindowState = WindowState.Maximized;

pour qu'il s'affiche dans la barre des tâches.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X