C# 如何在WindowsPhone中覆盖PhoneAccentBrush?

C# 如何在WindowsPhone中覆盖PhoneAccentBrush?,c#,xaml,windows-phone-7.1,C#,Xaml,Windows Phone 7.1,基本上,PhoneAccentBrush带有从手机中选择的重音颜色。但对于WindowsPhone应用程序中的特定xaml文件,我始终需要BlueAccentBrush 实际上,我的要求是,当ListPicker处于FullMode时。。弹出窗口中SelectedItem的颜色取决于PhoneAccentBrush。。。如果我将手机主题设置为红色。。然后选择弹出窗口中的编辑项颜色将为红色。。但是我不喜欢这个。。我希望弹出窗口中的SelectedItem始终使用BlueAccentBrush 那么

基本上,PhoneAccentBrush带有从手机中选择的重音颜色。但对于WindowsPhone应用程序中的特定xaml文件,我始终需要BlueAccentBrush

实际上,我的要求是,当ListPicker处于FullMode时。。弹出窗口中SelectedItem的颜色取决于PhoneAccentBrush。。。如果我将手机主题设置为红色。。然后选择弹出窗口中的编辑项颜色将为红色。。但是我不喜欢这个。。我希望弹出窗口中的SelectedItem始终使用BlueAccentBrush


那么,有人能帮我覆盖xaml文件中的PhoneAccentBrush吗?

你不能覆盖PhoneAccentBrush。这是一个“系统”资源。但是您可以更改
列表选择器的行为方式。有关如何添加ListPicker的系列文章,请参阅。

如下所示添加ListPicker

<StackPanel x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0" >     
<toolkit:ListPicker ListPickerMode="Full">
<toolkit:ListPickerItem Content="Item1"/>
<toolkit:ListPickerItem Content="Item1"/>
<toolkit:ListPickerItem Content="Item2"/>
<toolkit:ListPickerItem Content="Item3"/>
<toolkit:ListPickerItem Content="Item4"/>
</toolkit:ListPicker>
</StackPanel>

覆盖ListPicker所选项目颜色的步骤

<ResourceDictionary
  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  xmlns:System="clr-namespace:System;assembly=mscorlib">
    <Color x:Key="PhoneAccentColor">Blue</Color>

    <SolidColorBrush x:Key="PhoneAccentBrush" Color="{StaticResource PhoneAccentColor}"/>
    <Style x:Key="PhoneTextAccentStyle" TargetType="TextBlock" BasedOn="{StaticResource PhoneTextBlockBase}">
        <Setter Property="FontFamily" Value="{StaticResource PhoneFontFamilySemiBold}"/>
        <Setter Property="Foreground" Value="{StaticResource PhoneAccentBrush}"/>
    </Style>
</ResourceDictionary>

蓝色
有关更多详细信息,请参阅以下示例: