2013-11-18 5 views
4

У меня есть приложение WPF, и моя кнопка находится в WINDOW, которую я добавил, и я хочу, чтобы кнопка открывала PAGE, когда я нажимаю на нее.Навигация между страницами в WPF?

NavigationService nav = NavigationService.GetNavigationService(this); 
nav.Navigate(new Uri("xamlFeedbackPage.xaml", UriKind.RelativeOrAbsolute)); 

Я пробовал этот код, который был в сети, и мое приложение вылетает, когда я нажимаю кнопку.

Любая помощь?

+0

Является ли «xamlFeedbackPage.xaml» расположенным в корне вашего проекта? Возможно, вам придется изменить его на нечто вроде «/Pages/xamlFeedbackPage.xaml». И просто попробуйте установить UriKind в Absolute. –

+0

@YoupTube http://i.stack.imgur.com/i2R5G.png Да, как вы можете видеть из картинки, это его корневая папка со всеми другими страницами/окнами. –

+0

Я вижу и изменяю UriKind до абсолютного? –

ответ

1

Посмотрите на this post и на этот MSDN article. Они содержат объяснение того, какие типы подходят для навигации (страницы) и в каком контейнере их размещать (в основном, Frame). Тогда у вас должно быть несколько успехов.

EDIT

Взгляните на this extensive example и все станет ясно.

+0

Эй посмотрел на них статьи и плохо попытался последовать за ними, хотя я думаю, что это потому, что вы можете перемещаться только с PAGE на PAGE, где я пытаюсь перейти от окна к странице. –

+0

Я создал новое окно под названием HostInWindowFrame.xaml и добавил фрейм, но я не понимаю, как он работает? –

+0

Затем вы устанавливаете Frame.Content на определенную страницу (с кнопкой на ней), и когда вы нажимаете кнопку, вы вызываете код, который вы изначально разместили. –

1
public PageFunction1() 
    { 
     InitializeComponent(); 
    } 

    private void button1_Click(object sender, RoutedEventArgs e) 
    { 
     NavigationService nav = NavigationService.GetNavigationService(this); 
     nav.Navigate(new Uri("page2.xaml",UriKind.RelativeOrAbsolute)); 
    } 
+0

вы просто используете страницу не для использования окна или u можете использовать навигационное окно .. did u get me? – Jani

+3

Пожалуйста, добавьте описание вашего ответа – zohar

Смежные вопросы