2010-06-21 18 views
10

gelen pencereyi alın, bu yüzden benim penceresinde bir sayfa çerçevesi var:Nasıl bir sayfadan bir pencere almak için bir sayfa

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

Ve bu sayfadan bu şekilde Camımı erişmeye çalışıyor:

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

Ama Veli null döndürür, bu yüzden "111" iletisini gördüğünüzde,

nerede hata ve nasıl pencere nesnesi doğru elde etmektir?

cevap

32

Sayfanın üst kısmı, Çerçeve değil, Çerçeve olacaktır. Bu çözüm kullanarak boş olsun

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

:

kolay yolu Window.GetWindow statik yöntemi kullanmaktır bu kodu kullanarak boş alma, Ben de S – Nickon

+0

.. :(Gayet iyi çalışıyor –

+2

, çocuk olmalı xaml sayfası bir pencerenin içindeki bir çerçevenin içine yüklenir, eğer bu şartlar yerine getirilmezse, pencere nesnesine bir yol yoktur, bu nedenle sıfırdır – Wobbles

İlgili konular