在旋转变换WPF中绑定角度
本文关键字:绑定 旋转变换 WPF | 更新日期: 2023-09-27 18:14:10
我有一些代码:
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center" Orientation="Horizontal">
<StackPanel.RenderTransform>
<RotateTransform CenterX="50" CenterY="-10" Angle="45" />
</StackPanel.RenderTransform>
<TextBlock Text="{Binding XPath=@TestingAngle}"/>
</StackPanel>
是否有任何方法将rendertransform的角度属性绑定到值?有没有像
这样的结构?<RotateTransform CenterX="50" CenterY="-10" Angle="{Binding XPath=@TestingAngle}" />
是否可以不使用代码隐藏文件(仅使用XAML)?
TestingAngle值应该取自以下代码:<Page.Resources>
<XmlDataProvider x:Key="TestData">
<x:XData>
<Information TestingAngle="30"/>
</x:XData>
</XmlDataProvider>
有没有办法写出这样的构造:
<StackPanel.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform Angle="{Binding XPath=@TestingAngle}"/>
<TranslateTransform/>
</TransformGroup>
</StackPanel.RenderTransform>
提前感谢!
您可以在XAML文件中定义一个资源并绑定到…
<UserControl.Resources>
<System:Double x:Key="AngleResource">-3</System:Double>
</UserControl.Resources>
然后绑定…
<StackPanel>
<StackPanel.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform Angle="{DynamicResource AngleResource}"/>
<TranslateTransform/>
</TransformGroup>
</StackPanel.RenderTransform>
</StackPanel>
如果它不打算更新,将它作为资源添加只会给你重用——所以你可以与其他元素共享这个角度并更新单个源。