0
WPF新手问题:电网将不会转动
我试图在旋转的visualstatemanager Storyboard的网格,但没有任何反应。我已经削减了我的项目到下面的简单示例,但仍然没有运气。不透明度动画效果很好,但网格不旋转。我究竟做错了什么?
感谢
XAML:
Window x:Class="MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid x:Name="gridMain">
<VisualStateManager.VisualStateGroups>
<VisualStateGroup Name="vsgOrientation">
<VisualState x:Name="vsHorizontal"/>
<VisualState x:Name="vsVertical">
<Storyboard>
<DoubleAnimation To="90" Duration="0:0:0" Storyboard.TargetName ="gridTest" Storyboard.TargetProperty="(Grid.RenderTransform).(RotateTransform.Angle)"/>
<DoubleAnimation To="0.25" Duration="0:0:0" Storyboard.TargetName ="gridTest" Storyboard.TargetProperty="Opacity"/>
</Storyboard>
</VisualState>
</VisualStateGroup>
</VisualStateManager.VisualStateGroups>
<Grid x:Name="gridTest" HorizontalAlignment="Left" Height="33" Margin="159,108,0,0" VerticalAlignment="Top" Width="101" Background="#FFB85E5E"/>
</Grid>
而这后面的代码:
Class MainWindow
Public Sub New()
' This call is required by the designer.
InitializeComponent()
' Add any initialization after the InitializeComponent() call.
VisualStateManager.GoToElementState(gridMain, vsVertical.Name, False)
End Sub
末级
谢谢,我发现另一篇文章,导致我到同一个地方。不幸的是它没有区别。 – 2stroke
+1由于RenderTransform确实缺失,现在@ 2stroke将TargetProperty更改为Storyboard.TargetProperty =“(UIElement.RenderTransform)。(CompositeTransform.Rotation)”,并将RotateTransform更改为CompositeTransform并且应该可以工作,如果不是这样一眼就看了一眼。 –
@ChrisW。在Silverlight中有一个CompositeTransform,但不在WPF中。 '(UIElement.RenderTransform)。(RotateTransform.Angle)'或更短,'RenderTransform.Angle'是正确的属性路径。 – Clemens