C# 使用框架内的按钮编辑框架
我有一个主窗口,其中包含一个框架。 我的框架使用主窗口上的按钮在不同的xaml之间切换。 我现在遇到的问题是,我还需要从框架中加载的xaml中的按钮执行此操作。 我尝试了以下几点:C# 使用框架内的按钮编辑框架,c#,wpf,xaml,C#,Wpf,Xaml,我有一个主窗口,其中包含一个框架。 我的框架使用主窗口上的按钮在不同的xaml之间切换。 我现在遇到的问题是,我还需要从框架中加载的xaml中的按钮执行此操作。 我尝试了以下几点: private void Button_Click(object sender, RoutedEventArgs e) { MainWindow mw = new MainWindow(); Page myPage = new Page();
private void Button_Click(object sender, RoutedEventArgs e)
{
MainWindow mw = new MainWindow();
Page myPage = new Page();
mw.editFramePage(myPage);
}
以下是我的编辑editFramePage方法:
public void editFramePage(Page page)
{
myFrame.NavigationService.Navigate(page, UriKind.Relative);
}
这是可行的,但是它会弹出一个新的主窗口,我希望它与我当前的主窗口。
我需要一些帮助 问题在于您正在创建一个新的主窗口。您需要保留对原始主窗口的引用,并在该主窗口上调用editFramePage WPF应用程序的默认实现框架将主窗口保存在App.MainWindow中。要使用它,您需要使用Application.Current.MainWindow 因此,您的函数应该如下所示:
private void Button_Click(object sender, RoutedEventArgs e)
{
MainWindow mw = (MainWindow) Application.Current.MainWindow;
Page myPage = new Page();
mw.editFramePage(myPage);
}
请注意,强制转换为MainWindow是必需的,因为Application.MainWindow返回的是Window类型,而不是您需要的更具体的类型。问题在于您正在创建一个新的MainWindow。您需要保留对原始主窗口的引用,并在该窗口上调用editFramePage。请给我一个例子,以拯救我的生命。谢谢