首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >WPF:扩展路径的正确方式?

WPF:扩展路径的正确方式?
EN

Stack Overflow用户
提问于 2011-02-25 02:47:48
回答 3查看 27.6K关注 0票数 30

我有一条路径(看起来像一个椭圆形):

代码语言:javascript
复制
<Path Data="Bla Bla"/>

现在我想要缩放路径的宽度和高度到我喜欢的任何位置。我找到了一个方法:

代码语言:javascript
复制
<Grid Width="400" Height="50">
<Viewbox Stretch="Fill">
    <Path Data="Bla Bla"/>
</Viewbox>  
</Grid>

这是可行的,但我想知道这是不是最有效的方法?(我必须引入一个网格和viewbox才能做到这一点)

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-02-25 03:18:30

扩展路径的另一种方法是使用RenderTransformLayoutTransform

代码语言:javascript
复制
<Path Data="Bla Bla"
      RenderTransformOrigin="0.5, 0.5">
    <Path.RenderTransform>
        <ScaleTransform ScaleX="1.5" ScaleY="1.5"/>
    </Path.RenderTransform>
</Path>
票数 30
EN

Stack Overflow用户

发布于 2011-02-26 00:04:45

仅供参考,由于ViewBox在其中使用了ScaleTransform,因此在性能方面基本上是一样好的。

票数 14
EN

Stack Overflow用户

发布于 2013-10-07 20:57:21

你可以用编程的方式来做,就像http://social.msdn.microsoft.com/Forums/vstudio/en-US/a0d473fe-3235-4725-aa24-1ea9307752d3/how-to-rendertransform-in-code-behind-c?forum=wpf

代码语言:javascript
复制
kUIWEB:kArrow mArrow = new kUIWEB:kArrow(); 
mArrow.Width=30; 
mArrow.Height=30; 
mArrow.RenderTransformOrigin=new Point(0.5, 0.5); 


ScaleTransform myScaleTransform = new ScaleTransform(); 
myScaleTransform.ScaleY = 1; 
myScaleTransform.ScaleX = 1; 

RotateTransform myRotateTransform = new RotateTransform(); 
myRotateTransform.Angle = 0; 

TranslateTransform myTranslate = new TranslateTransform (); 
myTranslate.X = 12; 
myTranslate.X = 15; 

SkewTransform mySkew = new SkewTransform (); 
mySkew.AngleX=0; 
mySkew.AngleY=0; 

// Create a TransformGroup to contain the transforms 
// and add the transforms to it. 
TransformGroup myTransformGroup = new TransformGroup(); 
myTransformGroup.Children.Add(myScaleTransform); 
myTransformGroup.Children.Add(myRotateTransform); 
myTransformGroup.Children.Add(myTranslate); 
myTransformGroup.Children.Add(mySkew); 

// Associate the transforms to the object 
mArrow.RenderTransform = myTransformGroup; 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5109058

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档