Changement ListViewItem couleur de fond au survol de la souris

J'ai besoin d'un peu d'aide ici. Je ne peux pas comprendre pourquoi aucune des solutions que j'ai trouvé du travail pour mon cas. Prenons l'exemple d'un Listview avec ces éléments:

<ListView.Items>
    <ListViewItem>
          <TextBlock xml:space="preserve">  1 <Bold>I'm bold</Bold>   </TextBlock>
    </ListViewItem>
    <ListViewItem>
          <TextBlock  xml:space="preserve"> 2 Im not </TextBlock>
    </ListViewItem>
</ListView.Items>

D'abord sur le vol stationnaire chaque ligne j'ai vu le point culminant de la TextBlock dans son défaut de lumière bleue. Il ne souligné la zone de texte:
Changement ListViewItem couleur de fond au survol de la souris

Je ne veux pas que je veux mettre en évidence celui de l'ensemble de la ligne, et je veux décider de la couleur. Je veux aussi que le point culminant de l'ensemble de la ligne lors de la sélection:
Changement ListViewItem couleur de fond au survol de la souris

J'ai été jouer avec les Styles, les Triggers ou la ItemContainerStyle. J'ai réalisé que je dois considérer le fond de la zone de texte, et l'un des ListViewItem pour la zone de texte. Et l'arrière-plan de l'ensemble de la ligne semble être une entreprise de la ListView.ItemContainerStyle.

Le résultat de l'ajout d'un style pour la zone de texte:

    <Style x:Key="TextBlockStyle" TargetType="{x:Type TextBlock}">
        <Style.Triggers>
            <Trigger Property="IsMouseOver" Value="True">
               <Setter Property="Foreground" Value="Black" />
                <Setter Property="Background" Value="White"/> 
            </Trigger>
        </Style.Triggers>
    </Style>

<ListView Grid.Column="1" Margin="0" HorizontalContentAlignment="Stretch" BorderThickness="0" >
        <ListView.Resources>
                <Style BasedOn="{StaticResource TextBlockStyle}" TargetType="{x:Type TextBlock}" />   
          </ListView.Resources>

est: Changement ListViewItem couleur de fond au survol de la souris

Puis-je ajouter un autre style pour essayer de se débarrasser de la liste de rappel selon la zone de texte:

    <Style x:Key="ListViewItemStyle" TargetType="{x:Type ListViewItem}">
                    <Style.Triggers>
                        <Trigger Property="IsMouseOver" Value="True">
                            <Setter Property="Background" Value="Gold" />
                        </Trigger>
                    </Style.Triggers>
     </Style>

 <ListView Grid.Column="1" Margin="0" HorizontalContentAlignment="Stretch" BorderThickness="0" >
        <ListView.Resources>
                <Style BasedOn="{StaticResource TextBlockStyle}" TargetType="{x:Type TextBlock}" />
                 <Style BasedOn="{StaticResource ListViewItemStyle}" TargetType="{x:Type ListViewItem}" />    
          </ListView.Resources>

Mais cela n'a aucun effet.

Et en essayant de mettre en évidence l'ensemble de la ligne avec ce qui ne fonctionne pas:

<ItemsControl.ItemContainerStyle>
    <Style>
        <Style.Triggers>
               <Trigger Property="Control.IsMouseOver" Value="True">
                    <Setter Property="Control.Background" Value="Gold" />
                        </Trigger>
         </Style.Triggers>
    </Style>
</ItemsControl.ItemContainerStyle>

Et j'ai essayé plusieurs autres suggestions pour des heures. Celui-ci:
Supprimer la souris sur l'effet sur une ListView dans WPF évite la surbrillance dans le texte sur le vol stationnaire,à la fois pour la zone de texte et la ListViewItem, mais je ne sais pas comment changer l'arrière-plan de l'ensemble de la ligne.
Quelqu'un pourrait-il donner un exemple de ce que je suis en train de faire?

Modifier l'arrière-plan du Conteneur dans votre DataTemplate.

OriginalL'auteur Miguel Angel Fas | 2016-07-01