2013-02-02 53 views
0

我想用下面的代碼Application.current.mainwindow childwindow替代

Point point1 = pwImages.ElementAt(0).TransformToAncestor(Application.Current.MainWindow).Transform(new Point(0, 0)); 

然而,Application.Current.MainWindow未設置爲調用此代碼的窗口,因爲主窗口是稱爲窗口App.xaml中。除了Application.Current.MainWindow還有我可以使用的替代方法嗎?或者我可以將Application.Current.MainWindow重置爲當前窗口嗎?

回答

0

好吧,如果我發現我需要循環瀏覽子窗口列表以查找我正在查找的窗口並將其分配給一個變量。

Window myWindow; 
    foreach (Window objWindow in Application.Current.Windows) 
     { 
      if (objWindow.ToString().Equals("NameOfChildWindow")) 
      { 
       myWindow = objWindow; 
      } 
     } 

然後我就可以用objWindow作爲產權置換

Point point1 = pwImages.ElementAt(0).TransformToAncestor(myWindow).Transform(new Point(0, 0));