Я пытаюсь изменить фон TreeViewItems в TreeView на основе свойства (boolean), прикрепленного к TreeViewItems. Я попытался это:Изменение фона TreeViewItem на основе прикрепленного свойства
<local:BooleanToBrushConverter x:Key="BooleanToBrushConverter"
TrueBrush="Yellow" FalseBrush="Transparent"/>
<local:TreeViewEx ItemsSource="{Binding Items}">
<TreeView.ItemContainerStyle>
<Style TargetType="{x:Type TreeViewItem}">
<Setter Property="IsExpanded" Value="True"/>
<Setter Property="Background" Value="{Binding Path=(local:TreeViewItemExtensions.Selected),
RelativeSource={RelativeSource Self},
Converter={StaticResource BooleanToBrushConverter}}"/>
<TreeView.Resources>
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightBrushKey}" Color="Transparent"/>
<SolidColorBrush x:Key="{x:Static SystemColors.HighlightTextBrushKey}" Color="Green"/>
</TreeView.Resources>
...
</local:TreeViewEx>
Ран приложения, но хотя я (программно) установить свойство (Selected, не следует путать с IsSelected), чтобы правда о «ребенке» TreeViewItem фон не был набор
Я взял взгляд с Snoop и обнаружили, что он не имеет желтый фон, как он должен (преобразователь срабатывает и возвращается правильно):
Однако, принимая быстрый взгляд в Snoop это показывает, что Желтый b бросаться была применена к этому TreeViewItem:
Однако, если я вручную установить фон для родительского StackPanel ([016] в Snoop) он отражает это значение. Но я не могу добраться до него по стилю.
Любые идеи?
UPDATE: Кажется, что выбранный элемент имеет какой-то стиль, который требует решения как-то ..