对于所选项目的Pivot WP 8.1 VisualStateManager不起作用?

时间:2014-11-19 22:03:19

标签: xaml windows-phone-8.1

为什么这在Windows Phone 8.1 RT上不起作用(对标题不透明度没有影响):

        <Pivot ItemsSource="{Binding PivotDefinition}">
        <Pivot.HeaderTemplate>
            <DataTemplate>
                <Grid>
                    <VisualStateManager.VisualStateGroups>
                        <VisualStateGroup x:Name="SelectionStates">
                            <VisualState x:Name="Selected">
                                <Storyboard>
                                    <DoubleAnimation Duration="0" Storyboard.TargetName="subheader" Storyboard.TargetProperty="Opacity" To="1"/>
                                </Storyboard>
                            </VisualState>
                            <VisualState x:Name="Unselected">
                                <Storyboard>
                                    <DoubleAnimation Duration="0" Storyboard.TargetName="subheader" Storyboard.TargetProperty="Opacity" To="0.4"/>
                                </Storyboard>
                            </VisualState>
                        </VisualStateGroup>
                    </VisualStateManager.VisualStateGroups>
                    <TextBlock x:Name="subheader" Text="{Binding Title}"/>
                </Grid>
            </DataTemplate>
          </Pivot.HeaderTemplate>
        </Pivot>

2 个答案:

答案 0 :(得分:1)

这是Windows Phone Runtime中自定义Pivot标头的已知问题。 Silverlight 8.1 Pivot正常工作。

我不知道任何可以提供您正在寻找的控件的变通方法。您可以在app.xaml的资源中覆盖应用范围内的Pivot主题颜色。标题的演示者封装在PivotHeaderPanel中,因此无法在您已经使用的HeaderTemplate之外的基本Pivot样式中修改它们的完整外观(并且在定制时不会对未选择的页面进行调暗,正如你所见。)

- 罗布

答案 1 :(得分:0)

似乎这是WP中的错误,所以我跳过整个VisualStateManager并将Opacity直接从ViewModel绑定到subheader。