2012-12-31 40 views
1

我有一個網頁(稱爲MainPage)已在它包含一個子頁面(稱爲EditorPage)的實例的框架。子頁面實例如何在父頁面中調用public函數?如何從框架內的子頁面調用父頁面中的函數?

+0

的UI不應該調用任何方法。 ViewModels應該,所以你不會真正關心你的UI的結構,如果你正確地構建你的ViewModel圖層。在WPF中,UI是不是應用程序的ViewModels是,用戶界面僅僅是與那些的ViewModels(即應用程序) –

回答

0

關係的某些代碼會有所幫助,但: 嘗試調用這樣的家長:) this.Parent.SomeMethod(

+0

這看起來不錯互動的好方法,我會測試它 – James

2

不漂亮,但你可以在構造函數傳遞引用

public partial class MainWindow : Window 
{ 
    public MainWindow() 
    { 
     InitializeComponent(); 
     Page1 page1 = new Page1(this); 
     Frame1.Navigate(page1); 
    } 
    public void MainMethod() {} 
} 


public partial class Page1 : Page 
{ 
    public Page1() 
    { 
     InitializeComponent(); 
    } 
    public Page1(MainWindow mw) 
    { 
     mw.MainMethod(); 
     InitializeComponent(); 
    } 
} 

考慮只增加類的項目持有共享方法

+0

如果'MainMethod()'是改變的功能'MainWindow'用戶界面,它會在'Page1'中調用嗎? – James

+0

你有什麼嘗試?所述的問題是父頁面中的公共功能。 – Paparazzi

相關問題