改变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>
可以把上面的样式写在这里,但是这两个样式不能同使用。
时间: 2024-10-12 19:14:51