在WPF多变换效果 [英] Multiple transform effects in WPF
本文介绍了在WPF多变换效果的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要申请多个通过C#中的WPF转换效果。
我已经试过低于code,但我看到最后的效果,而不是只在这两个在一起。
任何线索,如果有可能吗?
XAML
<电网>
<矩形填充=#FFF4F4F5NAME =矩形的HorizontalAlignment =左的高度=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屋!
查看全文