You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用VB.NET在运行时修改XAML中Image的RotateTransform角度

实现方法

你可以通过两种方式在VB.NET代码里修改这个Image控件的旋转角度:

方法一:遍历TransformGroup找到RotateTransform(无需修改原有XAML)

在按钮的Click事件处理代码中,先获取Image的TransformGroup,然后遍历它的子变换,找到RotateTransform实例后修改其Angle属性:

Private Sub Button_Click(sender As Object, e As RoutedEventArgs)
    ' 获取TransformGroup
    Dim transformGroup As TransformGroup = CType(Yelkovan.RenderTransform, TransformGroup)
    ' 遍历子变换找到RotateTransform
    For Each transform As Transform In transformGroup.Children
        Dim rotateTransform As RotateTransform = TryCast(transform, RotateTransform)
        If rotateTransform IsNot Nothing Then
            ' 修改角度为45度
            rotateTransform.Angle = 45
            Exit For
        End If
    Next
End Sub

方法二:给RotateTransform命名(更简洁,需修改XAML)

先修改你的XAML,给RotateTransform加上x:Name属性,这样可以直接在代码中引用它:

<Image x:Name="Yelkovan" HorizontalAlignment="Left" Height="163" Margin="178,80,0,0" VerticalAlignment="Top" Width="14" Source="/k-yelkovan.png" RenderTransformOrigin="0.558,0.863">
    <Image.RenderTransform>
        <TransformGroup>
            <ScaleTransform/>
            <SkewTransform/>
            <RotateTransform x:Name="YelkovanRotate" Angle="-30"/>
            <TranslateTransform X="27.336" Y="-7.117"/>
        </TransformGroup>
    </Image.RenderTransform>
</Image>

然后在按钮点击事件里直接修改角度:

Private Sub Button_Click(sender As Object, e As RoutedEventArgs)
    YelkovanRotate.Angle = 45
End Sub

两种方法都能实现你要的效果,方法二更直观高效,推荐使用。

内容的提问来源于stack exchange,提问作者AkKi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 07:58:26