2012-02-23 9 views

答えて

3

これは、あなたが

リストボックスの項目リストボックスでテーマ

<Style TargetType="{x:Type ListBoxItem}"> 
    <Setter Property="SnapsToDevicePixels" Value="true" /> 
    <Setter Property="OverridesDefaultStyle" Value="true" /> 
    <Setter Property="Padding" Value="3" /> 
    <Setter Property="Foreground" Value="{StaticResource OutsideFontColor}" /> 
    <Setter Property="Template"> 
     <Setter.Value> 
      <ControlTemplate TargetType="{x:Type ListBoxItem}"> 
       <ControlTemplate.Resources> 
        <Storyboard x:Key="HoverOn"> 
         <DoubleAnimation Duration="00:00:00.1000000" 
             Storyboard.TargetName="BackgroundGradientOver" 
             Storyboard.TargetProperty="Opacity" 
             To="0.73" /> 
        </Storyboard> 
        <Storyboard x:Key="HoverOff"> 
         <DoubleAnimation Duration="00:00:00.4000000" 
             Storyboard.TargetName="BackgroundGradientOver" 
             Storyboard.TargetProperty="Opacity" 
             To="0" /> 
        </Storyboard> 
        <Storyboard x:Key="SelectedOn"> 
         <DoubleAnimation Duration="00:00:00.1000000" 
             Storyboard.TargetName="BackgroundGradientSelected" 
             Storyboard.TargetProperty="Opacity" 
             To="0.84" /> 
         <DoubleAnimation Duration="00:00:00.1000000" 
             Storyboard.TargetName="BackgroundGradientSelectedDisabled" 
             Storyboard.TargetProperty="Opacity" 
             To="0.55" /> 
        </Storyboard> 
        <Storyboard x:Key="SelectedOff"> 
         <DoubleAnimation Duration="00:00:00.4000000" 
             Storyboard.TargetName="BackgroundGradientSelected" 
             Storyboard.TargetProperty="Opacity" 
             To="0" /> 
         <DoubleAnimation Duration="00:00:00.4000000" 
             Storyboard.TargetName="BackgroundGradientSelectedDisabled" 
             Storyboard.TargetProperty="Opacity" 
             To="0" /> 
        </Storyboard> 
       </ControlTemplate.Resources> 
       <Grid SnapsToDevicePixels="true"> 
        <Rectangle x:Name="BackgroundGradientOver" 
           Fill="{DynamicResource MouseOverBrush}" 
           Opacity="0" 
           RadiusX="1" 
           RadiusY="1" 
           Stroke="{DynamicResource MouseOverBorderBrush}" /> 
        <Rectangle x:Name="BackgroundGradientSelectedDisabled" 
           Fill="{DynamicResource ListItemSelectedBrush}" 
           Opacity="0" 
           RadiusX="1" 
           RadiusY="1" 
           Stroke="{DynamicResource ListItemSelectedBorderBrush}" /> 
        <Rectangle x:Name="BackgroundGradientSelected" 
           Fill="{DynamicResource PressedBrush}" 
           Opacity="0" 
           RadiusX="1" 
           RadiusY="1" 
           Stroke="{DynamicResource PressedBorderBrush}" 
           StrokeThickness="1" /> 
        <ContentPresenter x:Name="contentPresenter" 
             Margin="{TemplateBinding Padding}" 
             HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" 
             Content="{TemplateBinding Content}" 
             ContentTemplate="{TemplateBinding ContentTemplate}" /> 
       </Grid> 
       <ControlTemplate.Triggers> 

        <Trigger Property="IsSelected" Value="true"> 
         <Trigger.ExitActions> 
          <BeginStoryboard x:Name="SelectedOff_BeginStoryboard" 
              Storyboard="{StaticResource SelectedOff}" /> 
         </Trigger.ExitActions> 
         <Trigger.EnterActions> 
          <BeginStoryboard x:Name="SelectedOn_BeginStoryboard" 
              Storyboard="{StaticResource SelectedOn}" /> 
         </Trigger.EnterActions> 

        </Trigger> 
        <Trigger Property="IsMouseOver" Value="True"> 
         <Trigger.ExitActions> 
          <BeginStoryboard x:Name="HoverOff_BeginStoryboard" 
              Storyboard="{StaticResource HoverOff}" /> 
         </Trigger.ExitActions> 
         <Trigger.EnterActions> 
          <BeginStoryboard Storyboard="{StaticResource HoverOn}" /> 
         </Trigger.EnterActions> 
        </Trigger> 

        <Trigger Property="IsEnabled" Value="false"> 
         <Setter Property="Foreground" Value="{DynamicResource DisabledForegroundBrush}" /> 
        </Trigger> 
       </ControlTemplate.Triggers> 
      </ControlTemplate> 
     </Setter.Value> 
    </Setter> 
     <Style.Triggers> 
      <Trigger Property="ItemsControl.AlternationIndex" Value="0"> 
       <Setter Property="Background" Value="#19f39611"></Setter> 
      </Trigger> 
      <Trigger Property="ItemsControl.AlternationIndex" Value="1"> 
       <Setter Property="Background" Value="#19000000"></Setter> 
      </Trigger> 
     </Style.Triggers>   
</Style> 

をしたいとあなたがテーマを変更することができますWPFテーマためCodeplexプロジェクトから取られた例(BureauBlueテーマ)

ある

<ListBox AlternationCount="2"> 
</ListBox> 
+0

お返事ありがとうございます。しかし、私はどのようにこの色の淡い色... 代替の行の色とIsMouseOverの概念をマージできるスタイルを作成したいと考えています。 – Yashwinder

+0

@Yashwinder更新された回答を参照してください。 – Ankesh

+0

@Yashwinder回答を交替する方法を参照してください。 – Ankesh

関連する問題