0

我有一个使用数据集填充的树视图。现在我需要向树视图节点添加不同的图标。如何使用 xaml 添加它们?

4

2 回答 2

0

您需要为 TreeViewItem 添加一个自定义模板,如下所示:

<TreeView.Resources>
    <Style TargetType="{x:Type TreeViewItem}">
        <Setter Property="HeaderTemplate">
            <Setter.Value>
                <DataTemplate>
                    <StackPanel Orientation="Horizontal">                                 
                        <CheckBox Tag="{Binding}" />
                        <Image Source="{Binding Converter={StaticResource CustomImagePathConvertor}}" />
                        <TextBlock Text="{Binding}" />
                    </StackPanel>
                </DataTemplate>
            </Setter.Value>
        </Setter>
    </Style>
</TreeView.Resources>
于 2013-06-13T04:58:47.457 回答
0

您可以更改Image Path并使用Template来实现它:

<ToggleButton x:Name="Expander" ClickMode="Press">
    <ToggleButton.Style>
        <Style TargetType="{x:Type ToggleButton}">
            <Setter Property="Focusable" Value="False"/>
            <Setter Property="Width" Value="16"/>
            <Setter Property="Height" Value="16"/>

            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type ToggleButton}">
                        <Grid Height="16" Width="16">
                            <Image x:Name="imgBkg" />
                        </Grid>

                        <ControlTemplate.Triggers>
                            <Trigger Property="IsChecked" Value="True">
                                <Setter Property="Source" TargetName="imgBkg" Value="/XXXX;component/YourImage.png"/>
                            </Trigger>
                        </ControlTemplate.Triggers>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </ToggleButton.Style>
</ToggleButton>
于 2013-06-13T08:17:47.520 回答