Современный интерфейс для WPF-навигации
Как я могу передать параметр между страницами? Я пытался добавить параметры в страницу URI, но это не сработало, потому что я не могу использовать событие onNavigatedTo в пользовательском элементе управления. Пожалуйста помоги
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"
Похоже, вы пришли из браузера клиента, показывающего мир веб-страниц. С WPF у вас есть приложение! Вы можете просто установить значение на новой странице до или после навигации, передать его конструктору или получить доступ к нему из местоположения, доступного с обеих страниц. Похоже, что параметр является аргументом страницы, поэтому в этом случае я бы передал его конструктору:
public class APage : Page
{
private object myVar; // use whatever Type you want
public APage
{
InitializeComponent();
}
public APage(object arg) : this()
{
this.myVar = args;
}
}