Пользовательская кнопка заголовка UWP не может быть нажата - PullRequest
0 голосов
/ 21 сентября 2019

У меня есть пользовательская панель заголовков, вид которой был расширен до заголовка заголовка, что означает, что я сделал это:

Windows.ApplicationModel.Core.CoreApplication.GetCurrentView().TitleBar.ExtendViewIntoTitleBar = true;

Как видно из изображения ниже, это просто кнопка возврата (которая виднапри переходе на другие страницы) и TextBlock.Однако я не могу нажать на эту кнопку.Почему это?Я поместил строку заголовка над NavigationView.И я также не могу найти Background этой кнопки.Я установил его прозрачным, он должен отображать цвет под ним, но это не так.Я также попытался изменить фон элементов вокруг него, но мои усилия не срабатывают.

Изображение, которое я разместил, является лишь примером, когда окно узкое, это все тот же случай, когда окно

Это структура XAML этой главной страницы, исходный код здесь :

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto" />
        <RowDefinition Height="*" />
        <RowDefinition Height="Auto" />
    </Grid.RowDefinitions>
    <NavigationView
        x:Name="MainNavigationView"
        Grid.Row="1"
        IsBackButtonVisible="Collapsed"
        IsBackEnabled="True"
        Style="{StaticResource MainNavigationViewStyle}"
        TabNavigation="Cycle">
        <Frame
            x:Name="NaviFrame"
            IsNavigationStackEnabled="True"
            Navigated="NaviFrame_Navigated" />
    </NavigationView>
    <Grid
        x:Name="AppTitleBar"
        Height="32"
        HorizontalAlignment="Stretch"
        VerticalAlignment="Stretch"
        Background="Transparent">
        <Border
            x:Name="AppTitleBorder"
            Width="{x:Bind MainNavigationView.OpenPaneLength}"
            HorizontalAlignment="Left"
            VerticalAlignment="Stretch"
            Background="Transparent" />
        <StackPanel Orientation="Horizontal">
            <Button
                x:Name="BackButton"
                Background="Transparent"
                Click="BackButton_Click"
                Style="{StaticResource BackButtonStyle}"
                Visibility="Collapsed" />
            <TextBlock
                x:Name="AppTitle"
                Height="{x:Bind AppTitleBar.Height, Mode=OneWay}"
                Padding="10,8"
                HorizontalAlignment="Stretch"
                VerticalAlignment="Stretch"
                Style="{StaticResource CaptionTextBlockStyle}"
                Text="{x:Bind appmodel:Package.Current.DisplayName}"
                Visibility="Collapsed" />
        </StackPanel>
    </Grid>
    <Button
        x:Name="FakeTogglePaneButton"
        Grid.Row="1"
        Background="{StaticResource MinimalTitleBarColor}"
        Click="FakeTogglePaneButton_Click"
        Style="{ThemeResource PaneToggleButtonStyle}"
        Visibility="Collapsed" />
    <local:MediaControl
        x:Name="MainMediaControl"
        Grid.Row="2"
        Mode="Main" />
</Grid>

enter image description here

1 Ответ

1 голос
/ 21 сентября 2019

В методе Page_Loaded вы установили сетку AppTitleBar в качестве строки заголовка вашего приложения.Это проблема.FrameworkElement, который вы указали в качестве заголовка вашего приложения, предполагается, что он не отвечает, потому что обычно вы перемещаете окно приложения, перетаскивая заголовок.

Поместите Rectangle или Border подотзывчивая часть, и установите это Rectangle или Border в качестве заголовка.

Вы можете взглянуть на этот блог для получения более подробной информации.

...