Tela inteira no aplicativo WPF

93

Estou desenvolvendo um aplicativo WPF que será exibido em tela cheia. Além disso, o aplicativo deve funcionar em muitos tablets de várias dimensões. Gostaria que meu aplicativo fosse executado em tela inteira, independentemente de suas dimensões.

Qual é a melhor prática para realizar essa tarefa?

Lamloumi Afif
fonte

Respostas:

180

Basta definir o WindowStatepara Maximizede o WindowStylepara None.

Thomas Levesque
fonte
6
Além disso, definir a janela como superior garantirá que nenhuma outra janela apareça sobre sua janela.
Yash Gadhiya
9
@YashGadhiya O que você nunca deve fazer.
Glenn Maynard
7
@LucasCordina Se você é um aplicativo de quiosque e deseja evitar que outros aplicativos tenham o foco, colocar-se no topo não é a solução. Topmost apenas deixa você por cima - se houver outra coisa que pode assumir o foco, ainda o fará, você simplesmente não será capaz de ver.
Glenn Maynard
8
(E no caso de não ser óbvio, a recomendação cega de Yash "também definir o mais alto" é muito ruim, porque se um aplicativo típico que está tentando em tela cheia fizer isso, você acaba com um daqueles aplicativos de tela cheia quebrados que o deixam cego e atrapalhado quando você tenta alternar para outra opção. Não sei por que o Windows permite que você faça isso - nenhum aplicativo deveria ser capaz de quebrar a área de trabalho tão mal.)
Glenn Maynard
8
Estamos trabalhando em um software projetado para ser usado em um hospital para uma única finalidade em uma máquina dedicada. O usuário nunca deve ser capaz de usar Alt-Tab em uma nova janela por qualquer motivo. Portanto, há contextos em que Topmost é a opção preferida.
Julian Gold
42

Defina WindowStyle como None e WindowState como Maximized. Isso pode ser feito assim:

WindowState = WindowState.Maximized;
WindowStyle = WindowStyle.None;

Ou em xaml:

<Window x:Class="FullScreenApplication.Window"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Full Screen WPF"
    WindowState="Maximized"
    WindowStyle="None">

E simplesmente clique em ALT-TAB para sair do wpf de tela inteira. Ele permite que você alterne entre outros aplicativos.

Kurt Van den Branden
fonte
2
Na verdade, essa parece ser a ordem incorreta . Se você primeiro maximizar e depois mudar de estilo, poderá ficar com a barra de tarefas visível. Este problema não parece estar presente se você WindowStyle.Noneprimeiro e WindowState.Maximizeddepois.
Wondra
@KurtVandenBranden Adicionar o uso de ALT-TABem sua resposta foi muito útil.
nam