WPF Storyboard анимация с несколькими условиями MultiDataTrigger для фонового изображения исключение ViewBox
В моем проекте у меня есть один файл для создания большинства стилей для WPF. Я пытаюсь установить фон TextBlock и анимировать его ViewBox, чтобы придать ему эффект карусели. Я смог сделать это успешно, когда все элементы управления существуют, когда приложение загружается. Однако сразу после добавления элемента управления, соответствующего новым триггерам, он вызывает исключение. Вот мой код
<Style TargetType="{x:Type TextBlock}">
<!-- Image Carousal -->
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Grid}, AncestorLevel=4},Path=Name}" Value="WelcomeScreen_Master" />
<Condition Binding="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type Grid}}, Path=Name}" Value="LayoutMainTitleGrid" />
<Condition Binding="{Binding RelativeSource={RelativeSource Self},Path=Name}" Value="Banner"/>
</MultiDataTrigger.Conditions>
<MultiDataTrigger.Setters>
<Setter Property="Width" Value="400" />
<Setter Property="Height" Value="146" />
<Setter Property="Foreground" Value="Transparent"/>
<Setter Property="HorizontalAlignment" Value="Center"/>
<Setter Property="Margin" Value="620,200,0,0" />
<Setter Property="Background">
<Setter.Value>
<ImageBrush
ImageSource="pack://application:,,,/LoremTheme;component/images/rotate.png"
Stretch="UniformToFill"
AlignmentY="Top"
AlignmentX="Right"
ViewboxUnits="Absolute" Viewbox="0,0,400,146"
ViewportUnits="Absolute" Viewport="0,0,300,109.5"
>
</ImageBrush>
</Setter.Value>
</Setter>
</MultiDataTrigger.Setters>
<MultiDataTrigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<RectAnimation Storyboard.TargetProperty="Background.Viewbox"
To="0,0,400,146" BeginTime="0:0:5" Duration="0:0:0.1" />
</Storyboard>
</BeginStoryboard>
</MultiDataTrigger.EnterActions>
</MultiDataTrigger>
</Style.Triggers>
</Style>
Код работает, если я устанавливаю фоновое изображение TextBlock в коде, но это не вариант, так как приложение будет иметь разные файлы стилей. Если я удалю из вышеприведенного стиля я все еще могу установить границу без анимации, что означает, что xaml может установить фон. Но если я буду поддерживать это дает следующее исключение.
---------------------------
Active Window : Exception
---------------------------
Method:Void VerifyPathIsAnimatable(System.Windows.PropertyPath)
System.InvalidOperationException: Cannot resolve all property references in the property path 'Background.Viewbox'. Verify that applicable objects support the properties.
at System.Windows.Media.Animation.Storyboard.VerifyPathIsAnimatable(PropertyPath path)
at System.Windows.Media.Animation.Storyboard.ClockTreeWalkRecursive(Clock currentClock, DependencyObject containingObject, INameScope nameScope, DependencyObject parentObject, String parentObjectName, PropertyPath parentPropertyPath, HandoffBehavior handoffBehavior, HybridDictionary clockMappings, Int64 layer)
Как я могу заставить анимацию работать? Прямо сейчас я предполагаю, что анимация запускается до того, как стиль устанавливает фон, так есть ли способ отложить раскадровку? или есть другое решение?