2013-03-28 67 views
1

我在這個窗口中有一個窗口和一個框架。 框架在頁面中導航並進入此頁面我有一個按鈕。 這個頁面是在dinamically創建的,所以我想在頁面中添加一個點擊按鈕的事件,這允許我將一個新頁面導航到窗口框架中。從頁面導航的WPF C#框架導航

我在谷歌寫關於自定義事件,可以允許我在與窗口中的事件相關的頁面中引發事件。

你能幫我嗎?

回答

2

如果我理解正確,您想使用event從一個頁面導航到另一個頁面?

如果是這種情況,請查看下面的鏈接 - 這些將讓您更好地瞭解如何通過提供示例和示例應用程序的WPF應用程序進行導航。

How to Build, Manage and Navigate the User Interface of a WPF Application

Simple Navigation

這是我如何實現它。在應用程序的後面代碼中,執行此類操作可幫助導航到單擊事件的下一頁;

private void btnClick_HomeClick(object sender, RoutedEventArgs e) 
{ 
    FrameContent.Navigate(new ExampleView()); //FrameContent is the name given to the frame within the xaml. 
} 

希望這會有所幫助!

+0

嗨格雷戈裏,感謝您的回答,我應該從一個頁面導航到其他頁面,但將事件整合到一個類中。在課堂上,我將一個事件分配給一個按鈕,在這種情況下,我必須在mi mainwindow中提出一個包含框架的事件! 希望你能幫我! – Loris91

+0

對不起,我不太明白你想說什麼。我建議你通過我建議的這兩個鏈接,或嘗試實施我爲你創建的代碼片段。如果我理解正確,則您有多個要導航到的頁面。如果是這種情況,您可以使用「菜單」或「功能區」並使用事件瀏覽每個頁面。希望這可以幫助。 –

+0

我已經解決了這個問題http://stackoverflow.com/questions/7901007/sending-event-between-2-wpf-windows – Loris91

0

我猜這裏的場景是他有一個帶有框架的窗口,導航方法也在這個窗口中。

你可以做的是將你的窗口傳遞給那些動態創建的頁面。

//Main Window 
public class MainWindow{ 

    public void NavigatePage(Page page){ 
    YourFrameInstance.Navigate(page) 
    } 
} 

//Your Page 
public class Page{ 

    private readonly Window _mainWindow; 

    public Page(Window mainWindow){ 
    _mainWindow = mainWindow; 
    } 

    void Button_Click(object sender, RoutedEventArgs e){ 
    var page = new Page(_mainWindow); 
    _mainWindow.NavigatePage(page); 
    } 
}