在WPF多变换效果 [英] Multiple transform effects in WPF

查看:147
本文介绍了在WPF多变换效果的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要申请多个通过C#中的WPF转换效果。

我已经试过低于code,但我看到最后的效果,而不是只在这两个在一起。

任何线索,如果有可能吗?

XAML

 <电网>
   <矩形填充=#FFF4F4F5NAME =矩形的Horizo​​ntalAlignment =左的高度=225保证金=84,39,0,0行程=黑VerticalAlignment =热门WIDTH =299 />
< /网格>
 

C#

  SkewTransform skewTransform1 =新SkewTransform(45,0,-50,50);
rect.RenderTransform = skewTransform1;

RotateTransform rotateTransform =新RotateTransform(30);
rect.RenderTransform = rotateTransform;
 

解决方案

您有两种效应结合起来,一个的TransformGroup ,而不是每次都覆盖它们!

  VAR的TransformGroup =新的TransformGroup();
VAR skewTransform =新SkewTransform(45,0,-50,50);
VAR roateTransform =新RotateTransform(30);

transformGroup.Children.Add(skewTransform);
transformGroup.Children.Add(rotateTransform);

rect.RenderTransform =的TransformGroup;
 

I need to apply multiple transform effect via c# in WPF.

I have tried code below but I see the last effect only and not the both together.

Any clue if it is possible to do?

XAML

<Grid>
   <Rectangle Fill="#FFF4F4F5" Name="rect" HorizontalAlignment="Left" Height="225" Margin="84,39,0,0" Stroke="Black" VerticalAlignment="Top" Width="299"/>
</Grid>

C#

SkewTransform skewTransform1 = new SkewTransform(45, 0, -50, 50);
rect.RenderTransform = skewTransform1;

RotateTransform rotateTransform  = new RotateTransform(30);
rect.RenderTransform = rotateTransform;

解决方案

You have to combine both effects in a TransformGroup instead of overwriting them each time!

var transformGroup = new TransformGroup(); 
var skewTransform = new SkewTransform(45, 0, -50, 50); 
var roateTransform = new RotateTransform(30); 

transformGroup.Children.Add(skewTransform); 
transformGroup.Children.Add(rotateTransform); 

rect.RenderTransform = transformGroup;

这篇关于在WPF多变换效果的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆