[WPF/C#] Znikające tło (image) TreeViewItem po zaznaczeniu


(Mazquick Tv) #1

Witam serdecznie.

 

Mam problem ze stylem TreeViewItem, ponieważ przy dodawaniu tego obiektu do listy TreeView dodaję odpowiedni obrazek tzw. prefix.

 

 

Tak dodaję tło do kontrolki TreeViewItem:

if (uriString.Length > 0)
{
   ibPrefix = new ImageBrush(new BitmapImage(new Uri(uriString)));
   ibPrefix.Stretch = Stretch.None;
   ibPrefix.AlignmentX = AlignmentX.Left;
   ibPrefix.AlignmentY = AlignmentY.Center;
   tempChild.Background = ibPrefix;

   tempChild.Header = " " + tempName;
}
else
{
   tempChild.Header = tempName;
}

tempModCat.Items.Add(tempChild);

Nie jest to zbyt piękne rozwiązanie, ale teoretycznie działa, o to efekt:

vKAFTLv.png

 

Problem pojawia się gdy kliknę na ten obiekt:

288ryo6.jpg

 

Kolor zaznaczenia itp. udało mi się zmienić/usunąć.

Moja znajomość stylizacji w XAML jest raczej średnia, ale coś tam, powiedzmy, próbowałem...:

TreeView.ItemContainerStyle
      Style TargetType="{x:Type TreeViewItem}"
            Style.Triggers
                  Trigger Property="IsSelected" Value="True"
                         Setter Property="BorderBrush" Value="Transparent" /
                         Setter Property="Background" Value="Transparent"/
                  /Trigger
                  Trigger Property="IsFocused" Value="False"
                         Setter Property="BorderBrush" Value="Transparent" /
                         Setter Property="Background" Value="Transparent" /
                  /Trigger
                  MultiTrigger
                         MultiTrigger.Conditions
                             Condition Property="IsSelected" Value="True"/
                             Condition Property="IsSelectionActive" Value="False"/
                         /MultiTrigger.Conditions
                         Setter Property="BorderBrush" Value="Transparent"/
                         Setter Property="Background" Value="Transparent"/
                  /MultiTrigger
            /Style.Triggers
       /Style
/TreeView.ItemContainerStyle

TreeView.Resources
      SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="DarkGray"/
      !--SolidColorBrush x:Key="{x:Static SystemColors.ControlBrushKey}" Color="DarkGray"/--
      SolidColorBrush x:Key="{x:Static SystemColors.HighlightTextBrushKey}" Color="Transparent" /
      !--SolidColorBrush x:Key="{x:Static SystemColors.ControlTextBrushKey}" Color="Transparent" /--
      SolidColorBrush x:Key="{x:Static SystemColors.InactiveSelectionHighlightBrushKey}" Color="Transparent" /
      !--SolidColorBrush x:Key="{x:Static SystemColors.InactiveSelectionHighlightTextBrushKey}" Color="Transparent" /--
/TreeView.Resources

 

Moje pytanie polega na tym jak zrobić żeby obrazek z tła nie znikał?

 

Pozdrawiam.

Maz.