C#WPF样式TreeViewItem

时间:2015-10-23 16:40:20

标签: c# wpf

我为TreeViewItem创建了一个自定义资源字典样式,但我遇到了困难。

<Style x:Key="StageTreeViewItem" TargetType="{x:Type TreeViewItem}" BasedOn="{StaticResource {x:Type TreeViewItem}}">
    <Setter Property="Foreground" Value="Gold"/>
    <Setter Property="FontFamily" Value="ArialN"/>
    <Setter Property="FontSize" Value="20"/>
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="TreeViewItem">
                <Grid>
                    <Image Name="PrimaryButtonImage" Source="pack://application:,,,/Images/TreeViewItem/TreeViewItem_Normal.png"/>
                    <ContentPresenter VerticalAlignment="Center" HorizontalAlignment="Center"/>
                </Grid>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

TreeViewItem的内容/标头不存在。我把“Stage One”作为TreeViewItem的Header,但它没有显示出来。此外,如果我在另一个上添加多个树视图项,它根本不会扩展。

另一件事:

选择树状视图项时,如何删除高光?我希望它是透明的,即使我将鼠标悬停在它上面,甚至当我点击它时。我不希望发生任何事情,但我只是不知道如何,我尝试了一切。

1 个答案:

答案 0 :(得分:0)

您提供的代码并未明确表示您如何设置TreeViewItem的标头。 对于问题的其他部分,您可以将触发器用于WPF表单中发生的事件。另请查看此链接,因为您必须定义用于在鼠标悬停时更改背景颜色的模板。 IsMouseOver Trigger not working in WPF