Một số ứng dụng trong Windows Store có nút Toàn màn hình bổ sung cho nút thu nhỏ, phóng to và đóng trong thanh tiêu đề. Nút này trông tương tự như nút Thoát toàn màn hình mà mọi Ứng dụng đều có trong Thanh tiêu đề nếu Chế độ toàn màn hình đang hoạt động. Có phải đó là một hệ thống kiểm soát và nếu làm thế nào tôi có thể sử dụng nó trong C# Universal App của tôi?Nút toàn màn hình Windows Universal App
Trả lời
Bạn sẽ phải sử dụng phương thức Window.SetTitleBar
để đạt được hành vi mong muốn của mình. Do đó, bạn sẽ cần thực hiện một vài bước:
Đầu tiên, cho phép chế độ xem mở rộng vào thanh tiêu đề. Xin lưu ý rằng bạn chỉ có thể đặt phần bên trái của thanh tiêu đề. Các Minimize, Tối đa hóa và Đóng nút vẫn sẽ ở đó:
CoreApplication.GetCurrentView().TitleBar.ExtendViewIntoTitleBar = true;
Sau khi bạn đã thiết lập đó, bạn gọi phương thức Window.SetTitleBar
với một UIElement
:
Window.Current.SetTitleBar(myTitleBar);
Trong trường hợp như myTitleBar
có thể trông giống như sau:
<Border x:Name="myTitleBar">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<!-- Title -->
<TextBlock Grid.Column="0"
Text="..."/>
<!-- Custom buttons attached to the right side -->
<StackPanel Grid.Column="1"
Orientation="Horizontal">
<Button x:Name="FullScreenButton"/>
<!-- Use U+E740 FullScreen Icon for the button above -->
</StackPanel>
</Grid>
</Border
Hướng dẫn mở rộng của Marco Minerva (bao gồm cả hành vi XAML tốt đẹp sẽ tinh chỉnh trường hợp sử dụng này thậm chí tốt hơn) có thể được tìm thấy here.
Tôi đã thực hiện FullScreenModeTitleBarBehavior
(cùng với điều khiển FullScreenModeTitle
) có thể chỉ làm những gì bạn muốn.
Các hành vi cần phải được gắn liền với một chính Page
và nó cho phép bạn chỉ định các màu foreground và background của TitleBar
. Nếu bạn cần nhiều màu hơn, bạn chỉ cần thêm nhiều thuộc tính hơn vào hành vi.
Cách nó hoạt động là hành vi sẽ di chuyển Content
ra khỏi Page
vào FulScreenModeTitle
kiểm soát mà về cơ bản soạn một tùy chỉnh TitleBar
với chuyển Content
.
// Store the original main page content.
var mainPageContent = _mainPage.Content;
// Clear the content for now.
_mainPage.Content = null;
// Move the content of the main page to our title bar control.
_customTitleBar.SetPageContent(mainPageContent);
// Refill the content with our new title bar control.
_mainPage.Content = _customTitleBar;
Bạn có thể tìm mã nguồn đầy đủ qua here trong GitHub. Cũng lưu ý rằng giải pháp này được lấy cảm hứng từ sample cụ thể từ kho lưu trữ GitHub của Microsoft.
Một số vấn đề tôi đã tìm thấy cho đến nay
Bạn có thể đã nhận thấy có một khoảng cách giữa tùy chỉnh đầy đủ nút chế độ màn hình của chúng tôi và nút giảm thiểu. Thật không may là bạn không thể giảm bớt thêm nữa do không gian này được dành riêng cho hệ thống (kiểm tra trên SystemOverlayRightInset
để biết thêm chi tiết). Nếu bạn di chuyển nút tùy chỉnh tùy chỉnh gần hơn, thử nghiệm lần truy cập sẽ không thành công, điều này làm cho nó không thể nhấp được.Ngoài ra tôi đã thấy rằng nếu bạn sử dụng nút tùy chỉnh để thoát khỏi chế độ toàn màn hình, ba nút hệ thống đó sẽ bị rối loạn chức năng cho đến khi bạn nhấp đúp vào TitleBar
để phóng to màn hình. Đây có thể là một lỗi. May mắn thay, khi màn hình ở chế độ toàn màn hình, nút phóng to sẽ được thay thế bằng nút toàn màn hình thoát toàn cảnh, vì vậy chúng tôi chỉ có thể ẩn nút tùy chỉnh của chúng tôi và để hệ thống xử lý thoát.
Giải pháp tốt, nhưng các vấn đề bạn đã tìm thấy là khá quan trọng. Và thực tế, vấn đề thứ hai tồn tại khi bạn thoát toàn màn hình thông qua nút hệ thống. Bạn đã quản lý để sắp xếp điều này từ đó? –
Nó có thể phân biệt thành 3 loại chế độ toàn màn hình 1. Vào và thoát khỏi chế độ toàn màn hình. 2. Trả lời các thay đổi ở chế độ toàn màn hình. 3. Khởi chạy ở chế độ toàn màn hình.
Bạn có thể tham khảo URL này https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/FullScreenMode
var view = ApplicationView.GetForCurrentView();
if (view.IsFullScreenMode)
{
view.ExitFullScreenMode();
rootPage.NotifyUser("Exiting full screen mode", NotifyType.StatusMessage);
// The SizeChanged event will be raised when the exit from full screen mode is complete.
}
else
{
if (view.TryEnterFullScreenMode())
{
rootPage.NotifyUser("Entering full screen mode", NotifyType.StatusMessage);
// The SizeChanged event will be raised when the entry to full screen mode is complete.
}
else
{
rootPage.NotifyUser("Failed to enter full screen mode", NotifyType.ErrorMessage);
}
}
- 1. Làm thế nào để ngăn chặn màn hình khóa trong Windows (Điện thoại) 8.1 Universal App?
- 2. Chụp màn hình cửa hàng Windows App
- 3. Nhiều phiên bản của Windows Universal App (Windows 10)
- 4. Java Windows 8 toàn màn hình?
- 5. Cách thực hiện Biểu đồ trên Windows Phone Universal App
- 6. Windows Universal App phải triển khai trước khi gỡ lỗi
- 7. Windows Phone 8.1 Universal App chấm dứt khi điều hướng trở lại từ trang thứ hai?
- 8. Windows Universal responsive design reposition
- 9. Nhận mã thông báo làm mới từ Windows Live SDK trong Universal Windows App
- 10. Nhận thông tin thiết bị bằng C# trong Windows Universal App (Windows 10)
- 11. Phát hiện chế độ toàn màn hình trong Windows
- 12. iOS Universal Link App Store chuyển hướng
- 13. làm tải ứng dụng nút webkit toàn màn hình
- 14. Youtube Iframe không có nút toàn màn hình
- 15. mở rộng kích thước phông chữ trong Windows Store Universal App (W8.1 + WP8.1)
- 16. UIView toàn màn hình
- 17. WPF toàn màn hình tối đa hóa
- 18. Lỗi bí ẩn khi chạy lệnh makepri cho Desktop Bridge của Windows Universal App
- 19. Cách thoát khỏi ứng dụng web toàn màn hình
- 20. MVC4 Single Page App - Nhiều màn hình
- 21. iOS - Buộc video toàn màn hình
- 22. Cách bỏ qua chứng chỉ tự ký với System.Net.Http.HttpClient trong Universal Windows App
- 23. Gọi thành phần C# từ JavaScript trong Windows 10 Universal App
- 24. Windows 10 Universal App - Loại tồn tại trong cả hai "Windows.Foundation.UniversalApiContract"
- 25. Windows 10 ứng dụng toàn cầu - Chạy ở chế độ toàn màn hình theo mặc định
- 26. Màn hình Splash trong Windows
- 27. UIImagePickerController không toàn màn hình
- 28. Tiện ích toàn màn hình
- 29. Ảnh toàn màn hình iPhone
- 30. EF Migration cho Universal Windows Platform
bất kỳ câu trả lời nào được cung cấp có phải là một giải pháp khả thi cho câu hỏi của bạn? – Herdo
Hãy xem [rằng] (https://marcominerva.wordpress.com/2015/07/09/full-screen-mode-in-windows-10-universal-apps/) – Corcus