установить содержимое фрейма с другой страницы — WPF C#

#c# #wpf

#c# #wpf

Вопрос:

У меня есть вызываемый фрейм, mainFrame который находится внутри MainWindows . У меня есть страница с именем page1 , при запуске приложения я динамически устанавливаю содержимое фрейма mainFrame на page1 .

Теперь предположим, что у меня вызвана другая страница page2 . У меня внутри есть кнопка page1 , я хочу, чтобы при нажатии на эту кнопку mainFrame содержимое менялось на page2 , но я не могу получить доступ mainFrame из page1 .

Как я могу это сделать?

Ответ №1:

Для достижения этого вам необходимо получить текущий экземпляр вашего MainWindows.

Внутри вашего обработчика события щелчка для кнопки на странице 1 напишите :

 MainWindows objMainWindows = (MainWindows)Window.GetWindow(this);
objMainWindows.mainFrame.Navigate(Page2);
  

Ответ №2:

Экземпляр ‘NavigationService’ доступен со страницы.

 // Inside page1
private void ClickEventHandler()
{
    NavigationService.Navigate(page2);
}
  

Или, если вы хотите вернуть поток управления в главное окно перед изменением страницы, загляните в PageFunction