当listBoxItem上的鼠标结束时更改ListBoxItem背景颜色

时间:2011-12-31 18:04:46

标签: wpf background datatemplate listboxitem

当鼠标结束时,我需要为列表项设置更改背景颜色。这是我的代码:

    <DataTemplate x:Key="ListBoxSubCategoryListTemplate" DataType="{x:Type ListBoxItem}">
        <StackPanel>
            <Button x:Name="btnSubCategoryList" Template="{StaticResource subCategoryListItems}" 
                    Content="{Binding Path=sub_category_name}" 
                    Background="Transparent"
                    Height="25"/>
        </StackPanel>
    </DataTemplate>

    <ControlTemplate x:Key="subCategoryListItems" TargetType="{x:Type Button}">
        <StackPanel FlowDirection="LeftToRight" Orientation="Horizontal" >
            <TextBlock Width="150" 
                       Height="{TemplateBinding Button.Height}" 
                       x:Name="textBlockSubCategoryName" 
                       Background="{TemplateBinding Button.Background}" 
                       Text="{TemplateBinding Button.Content}" 
                       FontWeight="Bold" />
            <Image x:Name="img" Width="15" Height="15" Source="/ExpressFurnitureSystem;component/Images/edit.png" ToolTip="Click to edit"></Image>
        </StackPanel>
    </ControlTemplate>

请帮忙......怎么样?

1 个答案:

答案 0 :(得分:3)

Trigger如:

<DataTemplate x:Key="ListBoxSubCategoryListTemplate" DataType="{x:Type ListBoxItem}"> 
    <StackPanel> 
        <Button x:Name="btnSubCategoryList" Template="{StaticResource subCategoryListItems}"  
                Content="{Binding Path=sub_category_name}"  
                Background="Transparent" 
                Height="25"/> 
    </StackPanel> 
    <DataTemplate.Triggers> 
        <Trigger Property="IsMouseOver" Value="True"> 
            <Setter TargetName="btnSubCategoryList" Property="Background" Value="Blue" /> 
        </Trigger> 
    </DataTemplate.Triggers> 
</DataTemplate>