Расширить кнопки до строки заголовка в UWP
Есть ли простой способ расширить элементы управления окна в строку заголовка и сделать их кликабельными?
Я прочитал соответствующий пост ( Как настроить строку заголовка приложения для страницы UWP) и понимаю, как визуально расширить область заголовка. Тем не менее, мои кнопки не доступны для щелчка в этой области (как будто на них есть слой, препятствующий их нажатию).
1 ответ
Решение
Конечно, вы начинаете с
//draw into the title bar
CoreApplication.GetCurrentView().TitleBar.ExtendViewIntoTitleBar = true;
//remove the solid-colored backgrounds behind the caption controls and system back button
ApplicationViewTitleBar titleBar = ApplicationView.GetForCurrentView().TitleBar;
titleBar.ButtonBackgroundColor = Colors.Transparent;
titleBar.ButtonInactiveBackgroundColor = Colors.Transparent;
Оттуда, это будет вопрос размещения кнопки в нужном месте.
Это также будет полезно, так как вы будете удалять название своего приложения:
<!-- Page attribute -->
xmlns:appmodel="using:Windows.ApplicationModel"
<TextBlock x:Name="AppTitle" Style="{StaticResource CaptionTextBlockStyle}"
Text="{x:Bind appmodel:Package.Current.DisplayName}" IsHitTestVisible="False"/>
Тогда, конечно, вам захочется быть осторожным с кнопкой возврата
CoreApplicationViewTitleBar titleBar = CoreApplication.GetCurrentView().TitleBar;
titleBar.LayoutMetricsChanged += TitleBar_LayoutMetricsChanged;
private void TitleBar_LayoutMetricsChanged(CoreApplicationViewTitleBar sender, object args)
{
AppTitle.Margin = new Thickness(CoreApplication.GetCurrentView().TitleBar.SystemOverlayLeftInset + 12, 8, 0, 0);
}
Удачи!