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?

Respostas:


180

Basta definir o WindowStatepara Maximizede o WindowStylepara None.


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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.