后退按钮不工作在XAML / W8

本文关键字:XAML W8 工作 按钮 | 更新日期: 2023-09-27 18:05:41

我的页面上有以下按钮:

 <AppBarButton Grid.Column="0" x:Name="backButton" Icon="Back" Margin="10,26,0,-1"
                      Command="{Binding NavigationHelper.GoBackCommand, ElementName=pageRoot}" 
                      IsEnabled="True"
                      Visibility="Visible"
                      Foreground="Green"
                      AutomationProperties.Name="Back"
                      AutomationProperties.AutomationId="BackButton"
                      AutomationProperties.ItemType="Navigation Button" Grid.Row="1" Grid.RowSpan="2" VerticalAlignment="Stretch"
                      />

按钮出现了,但是点击它没有任何作用。这被放置在应用程序两页中的第二页上。我按照NavigatonHelper.cs中的说明将其连接到我的第二个页面,但在第一个页面中没有做任何特别的事情。我错过了什么?

我甚至尝试将Click属性绑定到自定义函数:

 public void ClickGoBack(object sender, RoutedEventArgs routedEventArgs) {
        this.Frame.Navigate(typeof(HubPage));
    }

但是当我点击按钮的时候,这个甚至没有被点击

后退按钮不工作在XAML / W8

您是否检查了AppBarButton定义中的Click存在?

like: <AppBarButton ... Click="ClickGoBack"></AppBarButton>

,你应该使用

if (this.Frame.CanGoBack)
{
    this.Frame.GoBack();
}

代替

this.Frame.Navigate(typeof(HubPage));

你可以这样做对我来说更容易。

<AppBar><Button Style="{StaticResource BackButtonStyle}" Click="Click1"></Button>
    </AppBar>

和后面的代码

private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
    {
        Frame.GoBack();
    }

在XAML中与按钮重叠的顶部网格之后放置了一些东西-直到现在我才理解"自然顺序"的概念。谢谢大家的帮助!