我有一个WPF应用程序,该应用程序使用Mahapps进行样式设置。用户可以在运行时更改主题或主题的应用程序,这可以通过ThemeManager(由Mahapps提供的类)完成。我有一个样式已设置的边框:
<Border Margin="5">
<Border.Style>
<Style TargetType="Border">
<Setter Property="BorderBrush" Value="{DynamicResource AccentColorBrush3}"/>
<Setter Property="BorderThickness" Value="2 2 2 2"/>
<Setter Property="Background" Value="{DynamicResource AccentColorBrush4}"/>
<Setter Property="CornerRadius" Value="0"/>
<Style.Triggers>
<DataTrigger Binding="{Binding IsPopulated}" Value="True">
<Setter Property="BorderBrush" Value="{DynamicResource AccentColorBrush3}"/>
<Setter Property="BorderThickness" Value="2 2 2 2"/>
<Setter Property="Background" Value="{DynamicResource AccentColorBrush4}"/>
<Setter Property="CornerRadius" Value="0"/>
</DataTrigger>
<DataTrigger Binding="{Binding IsPopulated}" Value="False">
<Setter Property="BorderThickness" Value="3"/>
<Setter Property="CornerRadius" Value="2"/>
<DataTrigger.EnterActions>
<BeginStoryboard Name="BeginStoryboard">
<Storyboard>
<ColorAnimation AutoReverse="True"
RepeatBehavior="Forever"
Storyboard.TargetProperty="BorderBrush.Color"
Duration="00:00:01"
From="Transparent"
To="IndianRed"/>
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
<DataTrigger.ExitActions>
<StopStoryboard BeginStoryboardName="BeginStoryboard"/>
</DataTrigger.ExitActions>
</DataTrigger>
</Style.Triggers>
</Style>
</Border.Style>
<Grid/>
</Border>
样式和数据触发按预期方式工作。边框具有发光的红色边框笔刷,该笔刷可以淡入和淡出-这是为了吸引用户的注意。但是,当在运行时通过我创建的设置菜单更改了重音时,这似乎删除了动画,并且边框笔刷颜色成为了选定的重音颜色。边框厚度保持为3,因此我可以看到数据触发器的设置器保持不变,但情节提要板似乎已移除。
关于为什么发生这种情况的任何想法吗?