Для WPF TreeView, как я могу использовать тему при настройке TreeView.ItemContainerStyle - PullRequest
2 голосов
/ 04 июня 2011

Я использую это в XAML для загрузки потомков дерева в модели представления на основе образца кода Джоша Смита здесь :

<TreeView.ItemContainerStyle>
        <Style TargetType="{x:Type TreeViewItem}">
            <Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}" />
            <Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}" />
        </Style>
</TreeView.ItemContainerStyle>

Это вызывает тему, которую я использую для TreeViewItemбыть проигнорированным.Это делает выделенный текст элемента черным, а фон темно-синим, что затрудняет его чтение.Есть ли способ использовать одновременно тему и код выше?

Ответы [ 2 ]

3 голосов
/ 04 июня 2011

Попробуйте установить BasedOn на {StaticResource {x:Type TreeViewItem}}.

В качестве основы для вашего стиля будет выбран стиль по умолчанию для TreeViewItems (который предоставляется темой).

0 голосов
/ 10 мая 2013

Только код отформатирован:

<TreeView.ItemContainerStyle> 
    <Style TargetType="{x:Type TreeViewItem}" BasedOn="{StaticResource {x:TypeTreeViewItem}"> 
        <Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}" /> 
        <Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}" /> 
    </Style> 
</TreeView.ItemContainerStyle>
...