Прежде всего, я посмотрел на все предложенные вопросы, и ни один из них на самом деле не ответил на мой вопрос.Я вижу решения для WinRT или WPF, но ни одно из них не работает с UWP.
С учетом вышесказанного я ищу способ сделать что-то вроде этого:
private void ListView_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
var pageName = ((ListViewItem)((ListView)sender).SelectedItem).Name;
var pageObj = ???? //Some way to ref MyNamespace.MyPage.xaml
MyFrame.Navigate(typeof(pageObj));
}
Я пыталсяиспользуйте все следующие комбинации:
var pageObj = FindName(pageName);
---
var pageObj = System.Type.GetType(this.GetType().Namespace + "." + pageName);
---
MyFrame.Navigate(typeof(pageObj));
---
MyFrame.Navigate(pageObj);
---
MyFrame.Navigate(typeof(pageName));
---
MyFrame.Navigate(pageName);
И некоторые другие вещи, которые я не могу вспомнить.В лучшем случае я получаю исключение NullReferenceException.
Я довольно плохо знаком с c # и UWP, поэтому, если это невозможно, прошу прощения за трату вашего времени.Просто если я в какой-то момент решу добавить новую страницу, мне не нужно будет редактировать какое-либо выражение switch;Я просто хочу добавить новый ListViewItem и покончить с ним.
Кроме того, это опыт обучения для меня.Я знаю, как сделать операторы переключения уже.Теперь я хотел бы сделать что-то более элегантное.
Заранее благодарю за любую помощь!