Объект, который вы передаете в качестве второго параметра, заканчивается в свойстве ExtraData объекта NavigationEventArgs.
private void btnAdd_Click(object sender, RoutedEventArgs e)
{
var tmp = lstNames.SelectedItems.ToList();
Frame.Navigate(typeof(Page2), tmp);
}
Я использую Linq для ToList ().
protected override void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);
lstNames2.ItemsSource = e.ExtraData as List<Name>;
}
Я рекомендую вам взглянуть на MVVM, хотя.То, как я это сделал, - это подход, называемый сначала viewmodel.Я бы использовал contentcontrol, а не фрейм, и в нем были бы пользовательские контроли, а не страницы.Я бы использовал шаблоны для создания шаблона модели представления в пользовательском контроле, эквивалентном странице.
Передача списка была бы в конструктор модели представления, к которой я "перемещаюсь".Это стандартная техника wpf, которую вы легко сможете найти в Google.