2013-03-28 69 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); 
    } 
}