-1
我在WPF故事情節是針對兩個對象有許多動畫故事板有許多目標
<Storyboard x:Key="LoadingStoryboard">
<DoubleAnimation To="1" Duration="{StaticResource TransactionTime}" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)" Storyboard.TargetName="Elem1" />
<DoubleAnimation To="1" Duration="{StaticResource TransactionTime}" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)" Storyboard.TargetName="Elem1" />
<DoubleAnimation To="0.4" Duration="{StaticResource TransactionTime}" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)" Storyboard.TargetName="Elem2" />
<DoubleAnimation To="0.4" Duration="{StaticResource TransactionTime}" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)" Storyboard.TargetName="Elem2" />
<DoubleAnimation To="0" Duration="{StaticResource TransactionTime}" Storyboard.TargetProperty="(local:Ring.InnerDiameter)" Storyboard.TargetName="Elem1" />
<DoubleAnimation To="0" Duration="{StaticResource TransactionTime}" Storyboard.TargetProperty="(local:Ring.InnerDiameter)" Storyboard.TargetName="Elem2" />
<DoubleAnimation To="0.85" BeginTime="{StaticResource TransactionTimeSpan}" Duration="0:0:0.5" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)" Storyboard.TargetName="Elem1" RepeatBehavior="Forever" AutoReverse="True" />
<DoubleAnimation To="0.85" BeginTime="{StaticResource TransactionTimeSpan}" Duration="0:0:0.5" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)" Storyboard.TargetName="Elem1" RepeatBehavior="Forever" AutoReverse="True" />
<DoubleAnimation To="0.45" BeginTime="{StaticResource TransactionTimeSpan}" Duration="0:0:0.5" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)" Storyboard.TargetName="Elem2" RepeatBehavior="Forever" AutoReverse="True" />
<DoubleAnimation To="0.45" BeginTime="{StaticResource TransactionTimeSpan}" Duration="0:0:0.5" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleY)" Storyboard.TargetName="Elem2" RepeatBehavior="Forever" AutoReverse="True" />
</Storyboard>
一切都很好,直到我試圖開始datatrigger那個故事板。 當我試圖做的事:
<Window.Style>
<Style>
<Style.Triggers>
<DataTrigger Binding="{Binding IsLoading}" Value="True">
<DataTrigger.EnterActions>
<BeginStoryboard Storyboard="{StaticResource LoadingStoryboard}" />
</DataTrigger.EnterActions>
</DataTrigger>
</Style.Triggers>
</Style>
</Window.Style>
我得到一個異常A Storyboard tree in a Style cannot specify a TargetName. Remove TargetName 'Elem1'.
什麼是創建目標應與datatrigger許多元素的動畫,最佳做法?
它不起作用,因爲我想要。 Elem1和Elem2之間的「To」屬性中的數字不同。你的代碼爲兩者提供相同的動畫。 – nrofis
如果動畫不同,則應定義兩個不同的故事板而不是一個。其餘與我的答案相同。 – mm8
你得到的錯誤信息應該是不言自明的。你做錯了。 – mm8