Подтвердить что ты не робот

Windows Phone 8.1 - Навигация по страницам

Из Windows Phone 8 Я никогда не думал, что будет внесено большое количество изменений в код Windows Phone 8.1. В принципе, мне просто интересно, как делать навигацию по страницам так же, как вы делаете это на Windows Phone 8. Для этого вы должны добавить:

NavigationService.Navigate(new Uri("/SecondPage.xaml", UriKind.Relative));

но этот код не работает для Windows Phone 8.1.

Может кто-нибудь, пожалуйста, помогите мне с этим? Если возможно, укажите любые ссылки или документацию по всем новым методам Windows Phone 8.1.

4b9b3361

Ответ 1

В Windows Phone 8.1 метод Page Navigation выглядит следующим образом:

Frame.Navigate(typeof(SecondPage), param);

Это означает, что вы намагничиваете "SecondPage" и передаете "param" (класс на основе объекта).

Если вам не нужно передавать какие-либо параметры, вы можете использовать это:

Frame.Navigate(typeof(SecondPage));

Вы можете найти документацию для этой ссылки MSDN

Ответ 2

Если вы хотите вернуться назад, вы можете использовать:

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

Если вы хотите вернуться к нажатию кнопки "Назад", вам необходимо переопределить событие аппаратного обеспечения:

HardwareButtons.BackPressed += HardwareButtons_BackPressed;

void HardwareButtons_BackPressed(object sender, BackPressedEventArgs e)
        {
            Frame rootFrame = Window.Current.Content as Frame;
            if(rootFrame != null && rootFrame.CanGoBack)
            {
                rootFrame.GoBack();
                e.Handled = true;
            }

        }

Обязательно установите для параметра e.Handled значение true.

Ответ 3

// Navigation Without parameters

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



// Navigation with parameters

this.Frame.Navigate(typeof(SecondPage),MyParameters);

Ответ 4

Чтобы отправить несколько параметров: Его довольно поздно ответить, но может помочь кому-то. Вы можете создать собственный класс, задать в нем свои параметры и отправить его объект в качестве параметра на целевую страницу.

Например. Ваш пользовательский класс:

public class CustomDataClass
{
public string name;
public string email;
} 

CustomDataClass myData = new CustomDataClass();
myData.name = "abc";
myData.email = "[email protected]";

Frame.Navigate(typeof(SecondPage), myData);

И затем на целевой странице вы можете получить в функции OnNavigatedTo, как это:

protected override void OnNavigatedTo(NavigationEventArgs e)
{
CustomDataClass myData2 = e.Parameter as CustomDataClass;
string name = myData2.name;
string email = myData2.email;
}

Надеюсь, что это поможет.