1

基本的に、PhoneAccentBrush には、Phone の SelectedTheme アクセント カラーが付属しています。しかし、WindowsPhone アプリケーションの特定の xaml ファイルには常に BlueAccentBrush が必要です。

実際、私の要件は、ListPicker が FullMode の場合です。ポップアップの SelectedItem の色は、PhoneAccentBrush に依存します...電話のテーマを赤に設定すると、ポップアップの 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 に答える