我有以下代码来调整图像控件的大小
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
在缩放后不会发生变化的原因。它们始终与Width
和Height
值相同。
如何获得新的图像控件尺寸?我是否必须通过比例变化率手动计算?
答案 0 :(得分:1)
RenderTransform
不应该影响布局,如果它改变了ActualSize
,它会做什么。如果您使用LayoutTransform
,则应更改这些值,但从旧尺寸和比例因子中查找新尺寸是一个相对简单的计算。