1

基本上,PhoneAccentBrush 带有来自 Phone 的 SelectedTheme 强调色。但对于 WindowsPhone 应用程序中的特定 xaml 文件,我总是需要 BlueAccentBrush。

实际上我的要求是,当 ListPicker 处于 FullMode 时.. Popup 中的 SelectedItem 颜色取决于 PhoneAccentBrush ...如果我将 Phone 主题设置为 Red.. 那么 Popup 中的 SelectedItem 颜色将为红色.. 但我不像这样..我希望弹出窗口中的 SelectedItem 总是 BlueAccentBrush ..

所以任何人都可以帮助我覆盖 xaml 文件中的 PhoneAccentBrush ..

4

2 回答 2

2

添加 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>

有关更多详细信息,请参阅以下示例: http: //www.windowsphonegeek.com/upload/articles/MangoCustomApplicationTheme%20_1_2_3.zip

于 2012-06-22T05:40:20.057 回答
1

您不能覆盖 PhoneAccentBrush。这是一个“系统”资源。但是你可以改变ListPicker行为的方式。请参阅http://windowsphonegeek.com/articles/customizing-listpicker-for-wp7-part1以获取一系列说明如何操作的文章。

于 2012-06-19T08:59:27.220 回答