在Windows Phone通用应用程序中的未选择枢轴的旋转控件标题图标

时间:2015-02-11 10:59:53

标签: xaml windows-phone-8.1 pivot

我的通用Windows Phone应用程序中有枢轴控制。定义如下

                <PivotItem.Header>
                    <Grid>
                        <Grid.ColumnDefinitions>
                            <ColumnDefinition Width="Auto" />
                            <ColumnDefinition Width="*" />
                        </Grid.ColumnDefinitions>
                        <Image Grid.Column="0" Margin="0 0 10 0" Width="40" Source="/Assets/Images/cher.png" />
                        <TextBlock x:Uid="cherTextBlock" Grid.Column="1" Style="{StaticResource PivotHeadingStyle}" />
                    </Grid>
                </PivotItem.Header>

当我第一次转动时,第二个转轴的文字变得迟钝。但是在幕后,图像不会变得沉闷。我有相同的图像与暗淡的效果,我希望显示其他枢轴时显示dul图像。

一种方法是我以编程方式进行编程,并在图像不清晰时更改图像源。但我想知道是否有可能在xaml或其他更好的方法中做到这一点?

1 个答案:

答案 0 :(得分:1)

以编程方式完成它

在初始化组件内添加了此代码

//RechargeAccountPivot is name of my pivot control.
RechargeAccountPivot.SelectionChanged += RechargeAccountPivot_SelectionChanged;

这是selectionChanged事件代码。我给我的所有图像控件命名并更改了它们的图标。

private void RechargeAccountPivot_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {
        if (RechargeAccountPivot.SelectedIndex == 0)
        {
            PivotOneImage.Source = new BitmapImage(new Uri("ms-appx:///Assets/Images/BalanceTopUpIcons/rechargeCard.png"));// new BitmapImage { UriSource = new Uri("//Assets/Images/BalanceTopUpIcons/rechargeCard.png") };
            PivotTwoImage.Source = new BitmapImage(new Uri("ms-appx:///Assets/Images/BalanceTopUpIcons/eVoucherDull.png"));
            PivotThreeImage.Source = new BitmapImage(new Uri("ms-appx:///Assets/Images/BalanceTopUpIcons/eVoucherDull.png"));
        }
        else if (RechargeAccountPivot.SelectedIndex == 1)
        {
            PivotOneImage.Source = new BitmapImage(new Uri("ms-appx:///Assets/Images/BalanceTopUpIcons/rechargeCardDull.png"));
            PivotTwoImage.Source = new BitmapImage(new Uri("ms-appx:///Assets/Images/BalanceTopUpIcons/eVoucher.png"));
            PivotThreeImage.Source = new BitmapImage(new Uri("ms-appx:///Assets/Images/BalanceTopUpIcons/eVoucherDull.png"));
        }
        else
        {
            PivotOneImage.Source = new BitmapImage(new Uri("ms-appx:///Assets/Images/BalanceTopUpIcons/rechargeCardDull.png"));
            PivotTwoImage.Source = new BitmapImage(new Uri("ms-appx:///Assets/Images/BalanceTopUpIcons/eVoucherDull.png"));
            PivotThreeImage.Source = new BitmapImage(new Uri("ms-appx:///Assets/Images/BalanceTopUpIcons/eVoucher.png"));
        }
    }