2010-06-21 3 views
10

Как получить окно со страницы, так что я получил страничный кадр в моем окне:Получаем окно со страницы

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

Но родитель возвращает нуль, так что я вижу «111» сообщение,

Где моя ошибка и как получить объект окна правильно?

ответ

32

Родоначальником страницы будет Рамка, а не Окно.

Самый простой способ заключается в использовании Window.GetWindow статический метод:

var wnd = Window.GetWindow(this); 
+4

я получаю нуль с помощью этого решения: S – Nickon

+0

Я тоже получаю нуль, используя этот код .. :( –

+2

работает хорошо, ребенок должен быть xaml загружается внутри фрейма, который находится внутри окна, если эти условия не выполняются, тогда нет пути к объекту окна, таким образом, null. – Wobbles

Смежные вопросы