C# WPF实际宽度和实际高度未使用ScaleTransform进行缩放
我正在使用WPF.NET4.5.1。我在画布上添加了几个边框。在后面的代码中,我应用RenderTransform以按一定的比例缩放所有对象:C# WPF实际宽度和实际高度未使用ScaleTransform进行缩放,c#,wpf,.net-4.5,scaletransform,C#,Wpf,.net 4.5,Scaletransform,我正在使用WPF.NET4.5.1。我在画布上添加了几个边框。在后面的代码中,我应用RenderTransform以按一定的比例缩放所有对象: foreach (FrameworkElement child in OverlayCanvas.Children) { child.RenderTransform = new ScaleTransform(XScale, YScale, 0, child.Height/2)
foreach (FrameworkElement child in OverlayCanvas.Children)
{
child.RenderTransform = new ScaleTransform(XScale, YScale, 0, child.Height/2);
}
在其他地方,我尝试使用边界的ActualWidth和ActualHeight,但它们不按XScale和YScale值缩放。我也尝试过使用LayoutTransform,但也不起作用
当我想使用实际高度和实际宽度时,我是否需要让自己不得不将其应用于实际高度和实际宽度?还是有更简单的方法
更新:
我确实找到了一种为FrameworkElement使用扩展方法的方法:GetBounds
我不确定它是什么时候被添加到.NET框架中的,但在这种情况下它确实很有用。它给了我确切的高度和宽度,以及我的控件相对于变换后计算的其他控件的位置
如果有人有任何建议,我仍然希望听到更好的方法来做到这一点。这似乎是WPF的一个功能:。看来你真的得自己计算了。