2013-11-10 2 views
0

Я читал около сотен Q/A & Блоги для того же, но не могут решить ошибку, которую я получаю. В моем приложении WPF мне нужно перейти от MainWindow.xaml к странице Register.xaml. У меня есть код ниже:Ошибка при переходе из окна на страницу в приложении WPF

 Register register = new Register(); 
     MainWindow.Navigate(register); 

Или

this.NavigationService.Navigate(new Uri("Register.xaml ", UriKind.Relative)); 

Это дает мне ошибку «.MainWindow» не содержит определения для „Navigate“ Или MainWindow»не содержит определения для 'NavigationService'

+0

Вы пытаетесь открыть страницу в новом окне или в качестве содержимого в текущем окне? – Harrison

+0

как содержимое в текущем окне –

ответ

0

Чтобы открыть page, вам необходимо иметь его в frame.

A page can be hosted from Window, NavigationWindow, Frame, or from a browser. To be hosted, a page can be: 
  • Прямой ребенок из окна, NavigationWindow или элемента кадра в XAML.

  • Инициировано и задано как значение свойства Content для Window, NavigationWindow и Frame.

  • Установить как источник идентификатора унифицированного ресурса (URI) исходного свойства либо NavigationWindow, либо Frame.

Если вы хотите иметь его в своем MainWindow, вы можете сделать следующее.

XAML

<Frame Name="contentFrame" /> 

C# кода

contentFrame.Content = new Page(); 

Чтобы открыть его в новом окне вы могли бы сделать что-то вроде этого.

Page p = new Page(); 
p.Show(); 
Смежные вопросы