Кнопка назад не работает в XAML / W8

1

У меня есть следующая кнопка на моей странице:

 <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

3 ответа

0
Лучший ответ

Что-то было помещено после верхней сетки в XAML, которая перекрывала кнопку - до сих пор я не понимал концепцию "естественного порядка". Спасибо всем за помощь!

0

Вы могли бы сделать это намного легче для меня.

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

и для вашего кода...

private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
    {
        Frame.GoBack();
    }
  • 0
    Не могли бы вы поделиться BackButtonStyle?
  • 0
    это уже в Visual Studio 2012. Просто введите код <Button Style="{StaticResource BackButtonStyle}"> и он отобразит кнопку возврата Windows 8.
0

Вы проверили, что в существующем приложении AppBarButton указано значение Click?

например: <AppBarButton... Click="ClickGoBack"></AppBarButton>

и вы должны использовать

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

вместо

this.Frame.Navigate(typeof(HubPage));
  • 0
    Спасибо за предложение. Я пробовал это, но функция ClickGoBack не срабатывает, несмотря на разрешение в XAML ...
  • 0
    Я также не вижу никакого эффекта наведения мыши на кнопку, когда я пытаюсь нажать на нее, это как будто это просто изображение

Ещё вопросы

Сообщество Overcoder
Наверх
Меню