【发布时间】:2020-04-22 20:56:15
【问题描述】:
我在这个窗口中有一个窗口和一个框架。 框架在页面中导航并进入此页面,我有一个按钮。 该页面是动态创建的,所以我想在页面中添加一个按钮 onclick 事件,允许我将新页面导航到窗口框架中。
我正在谷歌上写关于自定义事件的文章,它可以允许我在与窗口中的事件相关的页面中引发事件。
你能帮帮我吗?
【问题讨论】:
标签: c# wpf c#-4.0 visual-studio-2012
我在这个窗口中有一个窗口和一个框架。 框架在页面中导航并进入此页面,我有一个按钮。 该页面是动态创建的,所以我想在页面中添加一个按钮 onclick 事件,允许我将新页面导航到窗口框架中。
我正在谷歌上写关于自定义事件的文章,它可以允许我在与窗口中的事件相关的页面中引发事件。
你能帮帮我吗?
【问题讨论】:
标签: c# wpf c#-4.0 visual-studio-2012
如果我理解正确,您想使用 event 从一个页面导航到另一个页面吗?
如果是这种情况,请查看下面的链接 - 这些链接将使您更好地了解如何在 WPF 应用程序中导航,并提供示例和示例应用程序。
How to Build, Manage and Navigate the User Interface of a WPF Application
这就是我实现它的方式。在应用程序背后的代码中,执行以下操作以帮助导航到单击事件的下一页;
private void btnClick_HomeClick(object sender, RoutedEventArgs e)
{
FrameContent.Navigate(new ExampleView()); //FrameContent is the name given to the frame within the xaml.
}
希望这会有所帮助!
【讨论】:
Menu 或Ribbon 并使用事件来浏览每个页面。希望这会有所帮助。
new Uri("ExampleView.xaml", UriKind.Relative),因为它似乎会自行清理。
我猜这里的场景是他有一个带框架的窗口,导航方法也在这个窗口中。
您可以做的就是将您的窗口传递给那些动态创建的页面。
//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);
}
}
【讨论】: