0

C++/CX XAML アプリケーション内から、特定のコントロールまたはグリッドの位置がどこにあるのかを知るために XAML レイアウト エンジンから情報を取得する方法とタイミングは?

すぐにページを作成し、それを Current::Window->Content of the Application に割り当てた後、何らかのレイアウト パスからコールバックされるまで待つ必要があると想定しています。グリッド位置、またはプレースホルダー XAML 要素の最終レイアウト位置 (ウィンドウ相対ピクセル座標) はどこで確認できますか?

4

1 に答える 1

1

これは、子孫コントロールが Loaded イベントを発生させると機能するはずです (C# から C++/CX への変換が必要です)。

Rect descendantControlBoundsInWindowCoordinateSpace = DescendantControl
    .TransformToVisual(Window.Current.Content)
    .TransformBounds(
        new Rect(
            0,
            0,
            DescendantControl.ActualWidth,
            DescendantControl.ActualHeight))
于 2012-09-17T21:24:30.093 に答える