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:
Problem pojawia się gdy kliknę na ten obiekt:
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.