У меня есть следующая кнопка на моей странице:
<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, которая перекрывала кнопку - до сих пор я не понимал концепцию "естественного порядка". Спасибо всем за помощь!
Вы могли бы сделать это намного легче для меня.
<AppBar><Button Style="{StaticResource BackButtonStyle}" Click="Click1"></Button>
</AppBar>
и для вашего кода...
private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
{
Frame.GoBack();
}
Вы проверили, что в существующем приложении AppBarButton указано значение Click?
например: <AppBarButton... Click="ClickGoBack"></AppBarButton>
и вы должны использовать
if (this.Frame.CanGoBack)
{
this.Frame.GoBack();
}
вместо
this.Frame.Navigate(typeof(HubPage));
<Button Style="{StaticResource BackButtonStyle}">
и он отобразит кнопку возврата Windows 8.