1

イメージコントロールのサイズを変更する次のコードがあります

    private void ApplyScale()
    {
        ((CompositeTransform)img.RenderTransform).ScaleX = TotalImageScale;
        ((CompositeTransform)img.RenderTransform).ScaleY = TotalImageScale;
        Debug.WriteLine("img.Width: " + img.Width.ToString() + " - img.ActualWidth: " + img.ActualWidth.ToString());
        Debug.WriteLine("img.Height: " + img.Height.ToString() + " - img.ActualHeight: " + img.ActualHeight.ToString()); 

    }

コードは正常に機能しますが、スケーリング後に画像が変更されないActualWidth理由を理解しようとしています。これらは常におよびActualHeightの値と同じです。WidthHeight

新しいイメージ コントロールのサイズを取得するにはどうすればよいですか? スケール変更率を介して手動で計算する必要がありますか?

4

1 に答える 1

1

RenderTransform変更された場合にレイアウトに影響を与えることは想定されていませんActualSize。使用する場合LayoutTransformはこれらの値を変更する必要がありますが、古いサイズと倍率から新しいサイズを見つけるのは比較的簡単な計算です。

于 2013-02-20T07:20:22.760 に答える