Как добавить иконки узлам Treeview?

Нужно чтобы на каждом узле была одинаковая иконка.

Есть зачатки кода:

    private void images ()
    {
        ImageList imfolder = new ImageList();
        imfolder.Images.Add(Image.FromFile("dark_gray"));
        tree.ImageList = imfolder;
        tree.ImageIndex = 0;
        tree.SelectedImageIndex = 2;
    }

Ответы (1 шт):

Автор решения: Cruz21

Можно добавить иконку в самой разметке. Когда будете формировать DataContext, там ко всем узлам положите картинку. Далее просто биндитесь. Учтите, картинки в ресурсах хранятся в bitmap, а wpf надо imagesource. Для этого нужно еще конвертер.

 <TreeView 
                  VirtualizingStackPanel.IsVirtualizing="True"
                  VirtualizingStackPanel.VirtualizationMode="Recycling"
                  ItemsSource="{Binding Data}">
            <TreeView.ItemTemplate>
                <HierarchicalDataTemplate ItemsSource="{Binding Childs, UpdateSourceTrigger=PropertyChanged, Mode=OneWay}">
                    <StackPanel Orientation="Horizontal">
                        <Image Source="{Binding Image, Converter={StaticResource ImgConverter}}"
                               Margin="0,0,5,0"
                               Width="16"
                               Height="16"
                               RenderOptions.BitmapScalingMode="NearestNeighbor"
                               RenderOptions.EdgeMode="Aliased"/>
                        <TextBlock Text="{Binding Name, UpdateSourceTrigger=PropertyChanged, Mode=OneWay}" />
                    </StackPanel>
                </HierarchicalDataTemplate>
            </TreeView.ItemTemplate>
</TreeView>
→ Ссылка