如何在 C# 中编写此 XAML 代码?
<TextBlock Text="..." RenderTransformOrigin="0.5,0.5">
<TextBlock.RenderTransform>
<CompositeTransform TranslateY="-25"/>
</TextBlock.RenderTransform>
</TextBlock>
我这样试过:
private TextBlock dots;
dots = new TextBlock();
dots.Text = "...";
dots.RenderTransformOrigin = new Point(0.5, 0.5);
(dots.RenderTransform as CompositeTransform).TranslateY = 20;
但是我得到一个System.NullReferenceException。 我也这样试过:
var ct = (CompositeTransform)dots.RenderTransform;
ct.TranslateY = 20;
但我得到一个System.InvalidCastException(无法将类型为“System.Windows.Media.MatrixTransform”的对象转换为类型“System.Windows.Media.CompositeTransform”。)
提前致谢!
最佳答案
如果您从头开始创建一个新控件,它的 RenderTransform
属性将是一个 Identity MatrixTransform
,因此您不能强制转换它到 CompositeTransform
。你必须这样做:
dots.RenderTransform = new CompositeTransform { TranslateY = 20 };
关于c# - 如何在 C# 中使用 CompositeTransform?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26116532/