Attualmente hoInserimento di una guardia su un trigger evento WPF. È possibile?
<ContentControl
Grid.Column="2" Grid.Row="3"
>
<ContentControl.Triggers>
<EventTrigger RoutedEvent="UIElement.MouseEnter">
<BeginStoryboard
Storyboard="{StaticResource ShakeStatorMinorRadiusEdit}"/>
</EventTrigger>
</ContentControl.Triggers>
... <snip> ...
</ContentControl>
e
<Grid.Resources>
<Storyboard x:Key="ShakeStatorMinorRadiusEdit">
<DoubleAnimationUsingKeyFrames
Storyboard.TargetName="StatorMinorRadiusEdit"
Storyboard.TargetProperty="RenderTransform.X"
RepeatBehavior="5x"
>
<EasingDoubleKeyFrame KeyTime="0:0:0.05" Value="0"/>
<EasingDoubleKeyFrame KeyTime="0:0:0.1" Value="3"/>
<EasingDoubleKeyFrame KeyTime="0:0:0.15" Value="0"/>
<EasingDoubleKeyFrame KeyTime="0:0:0.20" Value="-3"/>
<EasingDoubleKeyFrame KeyTime="0:0:0.25" Value="0"/>
</DoubleAnimationUsingKeyFrames>
</Storyboard>
</Grid.Resources>
L'idea è che quando il mouse entra giallo evidenziato controllo a sinistra il giallo evidenziato controllo sulla destra agiterà. Il controllo sulla destra ha la x: Name = StatorMinorRadiusEdit
Fin qui tutto bene funziona.
Ora voglio aggiungere un'altra complicazione. Voglio solo che l'animazione si inneschi se un valore sul mio modello di vista RotorLobes == 1. In un mondo immaginario farei.
<ContentControl
Grid.Column="2" Grid.Row="3"
>
<ContentControl.Triggers>
<EventTrigger RoutedEvent="UIElement.MouseEnter">
<If Property="{Binding RotorLobes}" Value="1"/>
<BeginStoryboard
Storyboard="{StaticResource ShakeStatorMinorRadiusEdit}"/>
</EventTrigger>
</ContentControl.Triggers>
... <snip> ...
</ContentControl>
Nel mondo reale non ho idea di come ottenere ciò.
Sfortunatamente la risposta di Mark Green non funziona, anche se è stata davvero una buona prova. Probabilmente non è una buona idea segnare persone superiori. – bradgonesurfing
Spero che la mia risposta modificata ti avvicini un po '. –
Sì. Sono abbastanza sicuro che aggiri il problema che ho identificato. XAML è davvero un maiale. Ad esempio, è impossibile definire uno story board come risorsa statica e quindi applicarlo a un elemento remoto tramite TargetName in qualsiasi modo ragionevole. – bradgonesurfing