WPF дочерняя страница получает родительский фрейм - PullRequest
4 голосов
/ 24 ноября 2011

У меня есть родительский фрейм Frame1, который открывает страницу Page1.На странице Page 1 я хочу нажать кнопку и указать Frame1, чтобы открыть новую страницу Page2.Возможен ли этот метод навигации?Спасибо

Ответы [ 2 ]

5 голосов
/ 25 ноября 2011

Поскольку мой фрейм находится в главном окне, я решил использовать следующий метод.Более стандартизированный подход после прочтения нескольких статей, вероятно, будет использовать MVVM-способ. Поместите этот код в Page1:

 Dim myWindow As Window1 = TryCast(Application.Current.MainWindow, Window1)
     If myWindow IsNot Nothing Then
        Dim myFrame As Frame = myWindow.Frame1

        myFrame.Navigate(New Page2())
     End If
0 голосов
/ 24 ноября 2011

Доступно несколько вариантов:

1) Вы можете указать Page1 ссылку на Frame1 при ее создании или после создания.
2) Вы можете использовать GetWindow (this), чтобы получить ссылку на окно, содержащее Page1 в
3) Вы можете использовать события; заставить Frame1 слушать событие OpenPage2 4) Вы можете использовать команды и слушать их, как события.

Из них подходы событий и команд, вероятно, являются лучшими.

...