【问题标题】:Get the window from a page从页面获取窗口
【发布时间】:2010-06-21 04:37:16
【问题描述】:

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

<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”消息,

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

【问题讨论】:

    标签: c# .net wpf


    【解决方案1】:

    页面的父级将是框架,而不是窗口。

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

    var wnd = Window.GetWindow(this);
    

    【讨论】:

    • 我使用这个解决方案得到空值:S
    • 工作正常,子必须是在窗口内的框架内加载的 xaml 页面,如果不满足这些条件,则没有到窗口对象的路由,因此为 null。
    • 有没有办法获得Frame
    猜你喜欢
    • 2019-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多