Расширить кнопки до строки заголовка в 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);
}

Удачи!

Другие вопросы по тегам