后退按钮在XAML / W8中不起作用

时间:2014-05-28 03:10:09

标签: c# xaml

我的页面上有以下按钮:

 <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));
    }

但是当我点击按钮时,这甚至都没有被击中。

3 个答案:

答案 0 :(得分:0)

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

喜欢:<AppBarButton ... Click="ClickGoBack"></AppBarButton>

你应该使用

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

而不是

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

答案 1 :(得分:0)

你可以更容易地为我做这件事。

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

以及您的代码......

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

答案 2 :(得分:0)

在XAML中与按钮重叠的顶部网格后面放了一些东西 - 我没有理解&#34;自然顺序&#34;到现在。感谢大家的帮助!