执行RenderTransform后,为什么ActualWidth / ActualHeight不会更改?

时间:2013-02-20 07:16:34

标签: c# windows-phone-8 scale rendertransform actualwidth

我有以下代码来调整图像控件的大小

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

    }

虽然代码正常运行,但我想了解图片ActualWidthActualHeight在缩放后不会发生变化的原因。它们始终与WidthHeight值相同。

如何获得新的图像控件尺寸?我是否必须通过比例变化率手动计算?

1 个答案:

答案 0 :(得分:1)

RenderTransform不应该影响布局,如果它改变了ActualSize,它会做什么。如果您使用LayoutTransform,则应更改这些值,但从旧尺寸和比例因子中查找新尺寸是一个相对简单的计算。