Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows runtime 使用一个情节提要将多个控件作为目标,以更改快照视图状态的样式_Windows Runtime_Winrt Xaml - Fatal编程技术网

Windows runtime 使用一个情节提要将多个控件作为目标,以更改快照视图状态的样式

Windows runtime 使用一个情节提要将多个控件作为目标,以更改快照视图状态的样式,windows-runtime,winrt-xaml,Windows Runtime,Winrt Xaml,我有一个用于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="{StaticReso

我有一个用于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}"/>
<!-- ... -->

当页面从全屏横向视图状态切换到Snapsed时,我想使用故事板将所有这些按钮的样式从PadButtonStyle更改为SnapsedPadButtonStyle

使用类似下面的方法我可以做到这一点,但我需要为每个按钮创建一个ObjectAnimationUsingKeyFrames

<VisualState x:Name="Snapped">
    <Storyboard>
            <ObjectAnimationUsingKeyFrames Storyboard.TargetName="btn1" Storyboard.TargetProperty="Style">
                <DiscreteObjectKeyFrame KeyTime="0" Value="{StaticResource SnappedPadButtonStyle}"/>
            </ObjectAnimationUsingKeyFrames>
    </Storyboard>
</VisualState>


是否有某种方法可以集体更改所有按钮的样式,而不单独引用每个按钮?

我仍在寻找一种方法,将故事板应用于控件集合

但是,我突然想到,更好的解决方案是创建一个完全独立的网格,只包含快照视图所需的控件,然后直接在XAML中应用所需的样式


然后,我需要在快照的VisualState中做的就是折叠一个网格,并使另一个可见。它在XAML中需要更多的控件,但大大降低了情节提要的要求。

也许您可以命名情节提要,并使用代码隐藏添加对象动画?但我知道这有点难看:/I如果需要,我愿意使用代码。我希望我能在XAML中做一些声明性的事情。例如,所有具有样式A的对象在捕捉时都具有样式B。