ControlTemplate in WPF —— ListBox

来源:互联网 发布:淘宝沙发椅子图片 编辑:程序博客网 时间:2024/06/02 06:30
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">  <ResourceDictionary.MergedDictionaries>    <ResourceDictionary Source="Shared.xaml" />  </ResourceDictionary.MergedDictionaries>  <!--<SnippetListBox>-->  <Style x:Key="{x:Type ListBox}"         TargetType="ListBox">    <Setter Property="SnapsToDevicePixels"            Value="true" />    <Setter Property="OverridesDefaultStyle"            Value="true" />    <Setter Property="ScrollViewer.HorizontalScrollBarVisibility"            Value="Auto" />    <Setter Property="ScrollViewer.VerticalScrollBarVisibility"            Value="Auto" />    <Setter Property="ScrollViewer.CanContentScroll"            Value="true" />    <Setter Property="MinWidth"            Value="120" />    <Setter Property="MinHeight"            Value="95" />    <Setter Property="Template">      <Setter.Value>        <ControlTemplate TargetType="ListBox">          <Border Name="Border"                  BorderThickness="1"                  CornerRadius="2">            <Border.Background>              <SolidColorBrush Color="{StaticResource ControlLightColor}" />            </Border.Background>            <Border.BorderBrush>              <SolidColorBrush Color="{StaticResource BorderMediumColor}" />            </Border.BorderBrush>            <ScrollViewer Margin="0"                          Focusable="false">              <StackPanel Margin="2"                          IsItemsHost="True" />            </ScrollViewer>          </Border>          <ControlTemplate.Triggers>            <Trigger Property="IsEnabled"                     Value="false">              <Setter TargetName="Border"                      Property="Background">                <Setter.Value>                  <SolidColorBrush Color="{StaticResource DisabledControlLightColor}" />                </Setter.Value>              </Setter>              <Setter TargetName="Border"                      Property="BorderBrush">                <Setter.Value>                  <SolidColorBrush Color="{DynamicResource DisabledBorderLightColor}" />                </Setter.Value>              </Setter>            </Trigger>            <Trigger Property="IsGrouping"                     Value="true">              <Setter Property="ScrollViewer.CanContentScroll"                      Value="false" />            </Trigger>          </ControlTemplate.Triggers>        </ControlTemplate>      </Setter.Value>    </Setter>  </Style>  <Style x:Key="{x:Type ListBoxItem}"         TargetType="ListBoxItem">    <Setter Property="SnapsToDevicePixels"            Value="true" />    <Setter Property="OverridesDefaultStyle"            Value="true" />    <Setter Property="Template">      <Setter.Value>        <ControlTemplate TargetType="ListBoxItem">          <Border x:Name="Border"                  Padding="2"                  SnapsToDevicePixels="true">            <Border.Background>              <SolidColorBrush Color="Transparent" />            </Border.Background>            <VisualStateManager.VisualStateGroups>              <VisualStateGroup x:Name="SelectionStates">                <VisualState x:Name="Unselected" />                <VisualState x:Name="Selected">                  <Storyboard>                    <ColorAnimationUsingKeyFrames Storyboard.TargetName="Border"                                                  Storyboard.TargetProperty="(Panel.Background).                      (SolidColorBrush.Color)">                      <EasingColorKeyFrame KeyTime="0"                                           Value="{StaticResource SelectedBackgroundColor}" />                    </ColorAnimationUsingKeyFrames>                  </Storyboard>                </VisualState>                <VisualState x:Name="SelectedUnfocused">                  <Storyboard>                    <ColorAnimationUsingKeyFrames Storyboard.TargetName="Border"                                                  Storyboard.TargetProperty="(Panel.Background).                      (SolidColorBrush.Color)">                      <EasingColorKeyFrame KeyTime="0"                                           Value="{StaticResource SelectedUnfocusedColor}" />                    </ColorAnimationUsingKeyFrames>                  </Storyboard>                </VisualState>              </VisualStateGroup>            </VisualStateManager.VisualStateGroups>            <ContentPresenter />          </Border>        </ControlTemplate>      </Setter.Value>    </Setter>  </Style>  <!--</SnippetListBox>--></ResourceDictionary>

原创粉丝点击