如何从页面获取窗口,所以我的窗口中有一个页面框架:
<Frame NavigationUIVisibility="Hidden" Name="frmContent" Source="Page/Page1.xaml" OverridesDefaultStyle="False" Margin="0,0,0,0" />
Run Code Online (Sandbox Code Playgroud)
并试图以这种方式从这个页面访问我的窗口:
private void Page_Loaded(object sender, RoutedEventArgs e)
{
if ((Window1)this.Parent == null)
System.Windows.Forms.MessageBox.Show("111");
else
wb1.ObjectForScripting = new MyScriptObject((Window1)this.Parent);
Run Code Online (Sandbox Code Playgroud)
但是Parent返回null,所以我看到"111"消息,
我的错误在哪里以及如何使窗口对象正确?
Mat*_*ton 42
页面的父级将是Frame,而不是Window.
最简单的方法是使用Window.GetWindow静态方法:
var wnd = Window.GetWindow(this);
Run Code Online (Sandbox Code Playgroud)