Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# c语言中的WPF变更转换#_C#_Wpf - Fatal编程技术网

C# c语言中的WPF变更转换#

C# c语言中的WPF变更转换#,c#,wpf,C#,Wpf,我试着改变图像的比例 MYIMAGE.RenderTransform.ScaleTransform.ScaleX = 1; 但它不起作用。因此,我的问题是,我如何首先改变尺度,其次还要改变变换方法,或者如何通过代码访问不同的变换?关于避免代码隐藏的标准警告适用(尽管这种代码在动态生成动画时非常有用) RenderTransform是保存单个对象引用的属性。它可以是一个ScaleTransform,TranslateTransform,甚至是一个TransformGroup。它没有ScaleTr

我试着改变图像的比例

MYIMAGE.RenderTransform.ScaleTransform.ScaleX = 1;

但它不起作用。因此,我的问题是,我如何首先改变尺度,其次还要改变变换方法,或者如何通过代码访问不同的变换?

关于避免代码隐藏的标准警告适用(尽管这种代码在动态生成动画时非常有用)

RenderTransform
是保存单个对象引用的属性。它可以是一个
ScaleTransform
TranslateTransform
,甚至是一个
TransformGroup
。它没有
ScaleTransform
属性。处理代码的简单方法是假设您知道它是一个
ScaleTransform

((ScaleTransform)MYIMAGE.RenderTransform).ScaleX = 1;
如果您不知道类型是什么,则需要进行
is/as
检查。在变换组的情况下,最终将得到一个数组。如果您知道缩放变换是第一个,那么这将起作用:

((ScaleTransform)((TransformGroup)MYIMAGE.RenderTransform).Children[0]).ScaleX = 1;
更通用/安全的实现留作练习