2011-11-27 36 views

回答

4

這取決於ListPicker.ExpansionMode。如果這是ExpansionAllowed - 你的風格應該是這樣的:

<Style TargetType="toolkit:ListPickerItem"> 
    <Setter Property="Background" Value="Transparent"/> 
    <Setter Property="HorizontalContentAlignment" Value="Stretch"/> 
    <Setter Property="Padding" Value="8 6"/> 
    <Setter Property="Template"> 
     <Setter.Value> 
      <ControlTemplate TargetType="toolkit:ListPickerItem"> 
       <Grid x:Name="grid" Background="{TemplateBinding Background}"> 
        <VisualStateManager.VisualStateGroups> 
         <VisualStateGroup x:Name="SelectionStates"> 
          <VisualState x:Name="Unselected"> 
           <Storyboard> 
            <ObjectAnimationUsingKeyFrames 
             Storyboard.TargetName="ContentContainer" 
             Storyboard.TargetProperty="Foreground" 
             Duration="0"> 
             <DiscreteObjectKeyFrame KeyTime="0"> 
              <DiscreteObjectKeyFrame.Value> 
               <!-- Normal color --> 
               <SolidColorBrush Color="Black"/> 
              </DiscreteObjectKeyFrame.Value> 
             </DiscreteObjectKeyFrame> 
            </ObjectAnimationUsingKeyFrames> 
           </Storyboard> 
          </VisualState> 
          <VisualState x:Name="Selected"> 
           <Storyboard> 
            <ObjectAnimationUsingKeyFrames 
             Storyboard.TargetName="ContentContainer" 
             Storyboard.TargetProperty="Foreground" 
             Duration="0"> 
             <DiscreteObjectKeyFrame KeyTime="0"> 
              <DiscreteObjectKeyFrame.Value> 
               <!-- Selected color --> 
               <SolidColorBrush Color="Orange"/> 
              </DiscreteObjectKeyFrame.Value> 
             </DiscreteObjectKeyFrame> 
            </ObjectAnimationUsingKeyFrames> 
            <!-- Optionally - background selected color --> 
            <!--<ObjectAnimationUsingKeyFrames 
             Storyboard.TargetName="grid" 
             Storyboard.TargetProperty="Background" 
             Duration="0"> 
             <DiscreteObjectKeyFrame KeyTime="0"> 
              <DiscreteObjectKeyFrame.Value> 
               <SolidColorBrush Color="Gray"/> 
              </DiscreteObjectKeyFrame.Value> 
             </DiscreteObjectKeyFrame> 
            </ObjectAnimationUsingKeyFrames>--> 
           </Storyboard> 
          </VisualState> 
         </VisualStateGroup> 
        </VisualStateManager.VisualStateGroups> 
        <ContentControl 
         x:Name="ContentContainer" 
         Content="{TemplateBinding Content}" 
         ContentTemplate="{TemplateBinding ContentTemplate}" 
         Foreground="{TemplateBinding Foreground}" 
         VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}" 
         HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" 
         Margin="{TemplateBinding Padding}" /> 
       </Grid> 
      </ControlTemplate> 
     </Setter.Value> 
    </Setter> 
</Style> 

但是,如果它是FullScreenOnly - 唯一的辦法就是修改工具包的源代碼,並與所需的更改構建它。在我看來,這是不值得的。

+0

謝謝,但我如何設置這個作爲ListPicker的樣式屬性 – AwkwardCoder

+0

如果你想將它應用到頁面上的所有'ListPicker'元素 - 把它放在像這裏的頁面資源:'%YOUR_STYLE%' –

+0

對不起,但不起作用 – AwkwardCoder

相關問題