Повноекранний додаток WPF


95

Я розробляю програму WPF, яка відображатиметься на весь екран. Крім того, додаток повинен працювати на багатьох планшетах різних розмірів. Я хотів би, щоб моя програма працювала у повноекранному режимі незалежно від її розмірів.

Яка найкраща практика для виконання цього завдання?

Відповіді:


182

Просто встановіть WindowStateна Maximized, і WindowStyleна None.


6
Також, встановивши Вікно як найвище, буде переконано, що жодне Вікно не відображається над Вашим вікном.
Яш Гадхія,

10
@YashGadhiya, чого ніколи не робити.
Гленн Мейнард,

7
@LucasCordina Якщо ви додаток-кіоск і хочете, щоб інші програми не фокусувались, поставити себе на найвищий рівень - це не рішення. Topmost просто робить вас зверху - якщо є щось інше, що може сфокусуватись, воно все одно буде, ви просто не зможете цього побачити.
Гленн Мейнард,

9
(І на випадок, якщо це не очевидно, сліпа рекомендація Яша "також встановити Topmost" дуже погана, тому що якщо типовий додаток, який намагається виконати повноекранний режим, це робить, ви отримуєте одну з тих зламаних повноекранних програм, яка залишає вас сліпими і непотріб, коли ви намагаєтесь перевести табуляцію на щось інше. Я не знаю, чому Windows це навіть дозволяє вам робити - жодна програма ніколи не повинна мати змоги так сильно зламати робочий стіл.)
Гленн Мейнард,

8
Ми працюємо над програмним забезпеченням, призначеним для використання в лікарні з єдиною метою на спеціальній машині. Користувач ніколи не повинен мати можливість Alt-Tab перейти до нового вікна з будь-якої причини. Отже, є контексти, в яких Topmost є найкращим варіантом.
Julian Gold

42

Встановіть для WindowStyle значення None, а WindowState - Maximized. Це можна зробити так:

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

Або в 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">

І просто натисніть ALT-TAB, щоб вийти з повноекранного wpf. Це дозволяє перемикатися між іншими програмами.


2
Насправді це здається неправильним порядком . Якщо спочатку розгорнути, а потім змінити стиль, у вас може залишитися видима панель завдань. Здається, цього питання немає, якщо ви WindowStyle.Noneп’єте і WindowState.Maximizedпісля.
wondra

@KurtVandenBranden Додавання використання ALT-TABу вашу відповідь було дуже корисним.
нам
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.