2013-10-02 3 views
0

Код ниже генерирует узел дерева с иконкой (из файла .PNG Piconfolder \ PiconName), за которым следует текстовая строка Pheader. Я хочу, чтобы добавить фон в только значок (для использования с прозрачными иконками)Программно установить фон изображения узла на цвет

public static TreeViewItem CreateTreeViewItem(
     string Pheader, 
     string PiconFolder, 
     string PiconName) 
    { 
     string iconFolder = PiconFolder; 
     string iconName = PiconName; 
     string header = Pheader; 
     TreeViewItem child = new TreeViewItem(); 
     StackPanel pan = new StackPanel(); 
     pan.Orientation = Orientation.Horizontal; 
     string fPath = System.IO.Path.Combine(iconFolder, iconName); 
     Image image = new Image(); 
     image.Height = 16; 
     image.Width = 16; 
     image.Source = new BitmapImage(new Uri(fPath, uriKind.RelativeOrAbsolute)); 
     pan.Children.Add(image);        
     pan.Children.Add(new TextBlock(new Run(" " + header))); 
     child.Header = pan; 
    } 
+0

работает отлично Благодарности – user2840301

ответ

1

Заменить

pan.Children.Add(image); 

с

var iconPanel = new Grid(); // or other panel 
iconPanel.Background = Brushes.Blue; 
iconPanel.Children.Add(image); 
pan.Children.Add(iconPanel);  
Смежные вопросы