比如两个Page,
public class OnePage : Page
public class TwoPage : Page
$1
主窗口创建这两个窗口的时候可以把一个的引用Set给另一个
public class MainPage
{
public void CreatePage()
{
OnePage page1 = new OnePage();
TwoPage page2 = new TwoPage();
//page2持有一份page1的引用 当然这样不是什么好方法
page2.PreviousPage = page1;
}
}
$2
创建一个静态的PageManager
public class PageManager
{
//Singleton 用个单体模式
...
public static PageManagerInstance
{
get
{
//double lock
...
}
}
public OnePage OnePage {get;set;}
public TwoPage TwoPage {get;set;}
}
然后
public class MainPage
{
public void CreatePage()
{
OnePage page1 = new OnePage();
//保存OnePage的引用
PageManager.PageManagerInstance.OnePage = page1;
TwoPage page2 = new TwoPage();
//同上
}
}
这样在Page2里
public class TwoPage
{
public void Function()
{
PageManager.PageManagerInstance.OnePage //获得Page1的引用
}
}