Toàn màn hình trong ứng dụng WPF


95

Tôi đang phát triển một ứng dụng WPF sẽ được hiển thị ở chế độ Toàn màn hình. Ngoài ra, ứng dụng sẽ hoạt động trên nhiều máy tính bảng có nhiều kích thước. Tôi muốn ứng dụng của mình chạy toàn màn hình độc lập với các kích thước của nó.

Phương pháp tốt nhất để hoàn thành nhiệm vụ này là gì?

Câu trả lời:


182

Chỉ cần đặt WindowStateđể Maximized, và WindowStyleđể None.


6
Ngoài ra, việc đặt Cửa sổ ở trên cùng sẽ đảm bảo không có Cửa sổ nào khác hiển thị trên cửa sổ của bạn.
Yash Gadhiya

10
@YashGadhiya Điều mà bạn không bao giờ nên làm.
Glenn Maynard

7
@LucasCordina Nếu bạn là một ứng dụng kiosk và bạn muốn ngăn các ứng dụng khác tập trung vào, thì việc đặt bản thân lên hàng đầu không phải là giải pháp. Trên cùng chỉ hiển thị bạn ở trên cùng - nếu có thứ gì khác có thể lấy tiêu điểm, nó vẫn sẽ hiển thị, bạn sẽ không thể nhìn thấy nó.
Glenn Maynard

9
(Và trong trường hợp không rõ ràng, đề xuất mù "cũng đặt ở trên cùng" của Yash là một đề xuất rất tồi, bởi vì nếu một ứng dụng điển hình đang cố gắng toàn màn hình làm điều đó, bạn sẽ gặp phải một trong những ứng dụng toàn màn hình bị hỏng khiến bạn mù và lóng ngóng khi bạn cố gắng chuyển tab sang một thứ khác. Tôi không biết tại sao Windows thậm chí còn cho phép bạn làm điều đó - không ứng dụng nào có thể phá vỡ màn hình một cách tồi tệ.)
Glenn Maynard

8
Chúng tôi đang làm việc trên phần mềm được thiết kế để sử dụng trong bệnh viện cho một mục đích duy nhất trên một máy chuyên dụng. Người dùng sẽ không bao giờ có thể Alt-Tab sang một cửa sổ mới vì bất kỳ lý do gì. Vì vậy, có những bối cảnh trong đó Topmost là lựa chọn ưu tiên.
Julian Gold

42

Đặt WindowStyle thành None và WindowState thành Maximized. Điều này có thể được thực hiện như sau:

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

Hoặc trong 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">

Và chỉ cần nhấp vào ALT-TAB để thoát khỏi wpf toàn màn hình của bạn. Nó cho phép bạn chuyển đổi giữa các ứng dụng khác.


2
Trên thực tế, đó có vẻ là thứ tự không chính xác . Nếu lần đầu tiên bạn phóng to và sau đó chuyển đổi kiểu, bạn có thể để lại thanh tác vụ hiển thị. Vấn đề này dường như không có nếu bạn đi máy bay WindowStyle.NoneWindowState.Maximizedsau đó.
wonderra

@KurtVandenBranden Thêm việc sử dụng ALT-TABcâu trả lời của bạn rất hữu ích.
nam
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.