我正在VisualStudio中尝试一个项目
有一个窗口(带框架),Page1和Page2
我正在调用Page1并从Window中放入一个Frame。然后在Page1中我想单击一个按钮并将Page2放在Frame中,而在Page2中使用Page1中的方法来更新表(即在Page1中)
在这里,我启动窗口并将Page1放在Frame
中namespace MyApp
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
Frame.Content = new Page1();
}
}
}
这里我启动了我的Page1,更新表并希望将Page2放在框架中
namespace MyApp
{
public partial class Page1 : Page
{
public Page1()
{
InitializeComponent();
// Populates table first time
updateTable();
}
private void Button_Click(object sender, RoutedEventArgs e)
{
MainWindow.Frame.Content = new Page2();
}
private void comboBox1_DropDownClosed(object sender, EventArgs e)
{
updateTable();
}
public void updateTable()
{
updateTable;
}
}
}
在这里,我开始使用Page2,并希望从Page1更新表格并返回Page1
namespace MyApp
{
public partial class Page2: Page
{
public Page2()
{
InitializeComponent();
}
private void Button_Click(object sender, RoutedEventArgs e)
{
((PageHome)Owner).updateTable(); // Update table from Page1. It gives an error because this is only the way of doing it with windows
MainWindow.Frame.Content = new Page1(); // Going back
}
}
}
似乎没有办法在互联网上做到这一点。至少这个页面具体情况 还尝试继承第2页中的page1但不能继承2个类
答案 0 :(得分:0)
如果您导航回Page1
,则可以使用Content
的{{1}}属性访问它:
Frame
答案 1 :(得分:0)
感谢您的贡献。
我碰巧不使用这些答案
我能够在第1页找到符合我想要的东西:
private void Button_Click(object sender, RoutedEventArgs e)
{
NavigationService.Navigate(new Page2());
}
所以至少部分问题已经回答了