0

次のコードを使いたい

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

ただし、mainWindowはapp.xamlによって呼び出されるウィンドウであるため、Application.Current.MainWindowはこのコードを呼び出すウィンドウに設定されていません。Application.Current.MainWindow以外にここで使用できる代替手段はありますか、またはApplication.Current.MainWindowを現在のウィンドウにリセットできますか?

4

1 に答える 1

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));
于 2013-02-02T01:58:58.650 に答える