从页面获取窗口

时间:2010-06-21 04:37:17

标签: c# .net wpf

如何从页面获取窗口,所以我的窗口中有一个页面框架:

<Frame NavigationUIVisibility="Hidden" Name="frmContent" Source="Page/Page1.xaml" OverridesDefaultStyle="False" Margin="0,0,0,0"  />

尝试以这种方式从这个页面访问我的窗口:

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);

但是Parent返回null,所以我看到“111”消息,

我的错误在哪里以及如何让窗口对象正确?

1 个答案:

答案 0 :(得分:39)

页面的父级将是Frame,而不是Window。

最简单的方法是使用Window.GetWindow静态方法:

var wnd = Window.GetWindow(this);