如何从框架中获取页面实例?

osh*_*osh 6 c# wpf xaml frame

我有一个在 xaml 中初始化的框架,如下所示:

<window>
   <Frame Name="myframe" NavigationUIVisibility="Hidden" Source="mypage.xaml"/>
</window>
Run Code Online (Sandbox Code Playgroud)

我正在尝试从包含 c# 代码中的框架(按顺序包含页面)的窗口中获取页面实例,但我不知道如何获取它。

public partial class mywindow : Window
    {
        public mywindow()
        {
            BusinessLogic.Initialize();
            InitializeComponent();
            var a = myframe.Content;
         }
}
Run Code Online (Sandbox Code Playgroud)

我怎么得到它?

谢谢你

小智 7

您的代码是正确的,但缺少内容的返回。

public partial class mywindow : Window
    {
        public mywindow()
        {
            BusinessLogic.Initialize();
            InitializeComponent();
            var a = (MyPage)myframe.Content;
         }
}
Run Code Online (Sandbox Code Playgroud)


Mei*_*hes 1

我想这个解决方案应该能解决问题?

按类型查找WPF窗口中的所有控件

 FindVisualChildren<Frame>(this).FirstOrDefault()
Run Code Online (Sandbox Code Playgroud)