且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

改变ListBoxItem选中的颜色

更新时间:2022-09-18 22:33:45

原文:改变ListBoxItem选中的颜色

改变ListBoxItem主要是改变的style

 

下面直接看代码吧!!!

 1   <Style TargetType="{x:Type ListBoxItem}">
 2              <Setter Property="SnapsToDevicePixels" Value="true"/>
 3              <Setter Property="OverridesDefaultStyle" Value="true"/>
 4              <Setter Property="Template">
 5                  <Setter.Value>
 6                      <ControlTemplate TargetType="{x:Type ListBoxItem}">
 7  
 8                          <Grid SnapsToDevicePixels="true">
 9                              <Border x:Name="Border" Background="Aqua"/>
10                              <ContentPresenter />
11                          </Grid>
12                          <ControlTemplate.Triggers>
13                              <Trigger Property="IsSelected" Value="true">
14                                  <Setter Property="Background" TargetName="Border" Value="Red"/>
15                              </Trigger>
16                          </ControlTemplate.Triggers>
17                      </ControlTemplate>
18                  </Setter.Value>
19              </Setter>
20          </Style>

 

在第一行代码要注意的是

<Style TargetType="{x:Type ListBoxItem}">这里没有使用x:key属性

这样模块下所有的ListBoxItem

总结:当ListBoxItem中指定了style时,就不会使用到以上定义的样式。

根据上文指定了ListBoxItem 自动填充ListBox
 <ListBox.ItemContainerStyle>
3     <Style TargetType="ListBoxItem">
4       <Setter Property="HorizontalContentAlignment" Value="Stretch"/>
5     </Style>
6   </ListBox.ItemContainerStyle>

 


可以把上面的样式写在这里,但是这两个样式不能同使用。