我有一个主窗口,该窗口是在项目中显示不同页面的框架,我希望在单击页面上的按钮时更改框架中的页面。
问题是我似乎无法使Frame包含单击按钮时的事件处理程序,它似乎是页面本身的局部内容。框架是否可以查看单击页面按钮并相应地更改页面?
Main.Content = new Page.Intro();
但是,在Next
中单击按钮Page.Intro()
时,我想在Main Window Class
中显示
Main.Content = new Page.Home(userinformation);
我尝试遵循How to click a button of the page to change the source of the frame of Windows?,这与我要实现的目标类似,尽管我的页面具有需要传递的参数,所以我无法调用MainContent.Source = new Uri("Home.xaml", UriKind.Relative);
,因为没有地方可以通过userinformation
。
答案 0 :(得分:1)
因为没有地方可以传递用户信息
Navigate
方法不仅使用Uri
,而且还具有将对象作为参数的an overload。所以这对你有用
//button click in Page.Intro
private void Button_Click(object sender, RoutedEventArgs e)
{
this.NavigationService?.Navigate(new Page.Home(userinformation));
}