Современный UI для WPF-навигации

Как передать параметр между страницами? Я пытался добавить параметры в uri страницы, но это не сработало, потому что я не могу использовать событие onNavigatedTo для управления пользователем. Пожалуйста помоги


person user3055279    schedule 01.12.2013    source источник
comment
Вопросы по SO с просьбой помочь с кодом должны показывать минимальное понимание и/или попытки. Что у вас есть до сих пор?   -  person    schedule 02.12.2013


Ответы (2)


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

public void OnFragmentNavigation(FragmentNavigationEventArgs e)
{
  DoYourStuff(e.Fragment)
}

e.Fragement содержит все, что находится за символом # в URI. Например, используя

NavigationCommands.GoToPage.Execute("/Pages/CustomerPage.xaml#CustomerID=12345", this);

e.Fragment будет "CustomerID=12345"

person corradolab    schedule 23.12.2014

Похоже, вы заходите из клиентского браузера, показывающего мир веб-страниц. С WPF вы являетесь владельцем приложения! вы можете просто установить значение на новой странице до или после навигации, передать его с помощью конструктора или получить к нему доступ из места, доступного с обеих страниц. Похоже, что параметр является аргументом страницы, поэтому в этом случае я бы передал его с помощью конструктора:

public class APage : Page
{
    private object myVar; // use whatever Type you want

    public APage
    {
        InitializeComponent();
    }

    public APage(object arg) : this()
    { 
        this.myVar = args;
    }
}
person markmnl    schedule 01.12.2013