我有一个用于 Windows 应用商店应用程序的 XAML 页面,它在网格中有十几个按钮。它们都定义了相同的样式。例如
<Button Content="1" Name="btn1" Grid.Row="1" Grid.Column="0" Style="{StaticResource PadButtonStyle}"/>
<Button Content="2" Name="btn3" Grid.Row="2" Grid.Column="0" Style="{StaticResource PadButtonStyle}"/>
<Button Content="3" Name="btn4" Grid.Row="3" Grid.Column="0" Style="{StaticResource PadButtonStyle}"/>
<!-- ... -->
当页面从全屏横向视图状态切换到快照时,我想使用情节提要将所有这些按钮的样式从 PadButtonStyle 更改为 SnappedPadButtonStyle。
使用类似下面的东西我可以做到这一点,但我需要为每个按钮创建一个 ObjectAnimationUsingKeyFrames。
<VisualState x:Name="Snapped">
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="btn1" Storyboard.TargetProperty="Style">
<DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource SnappedPadButtonStyle}"/>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</VisualState>
有没有办法在不单独引用每个按钮的情况下共同更改所有按钮的样式?