Вы можете установить значки раскрытия / свертывания непосредственно при создании узлов.Например:
Image imageToUseForExpand = /* get this image from somewhere */;
Image imageToUseForCollapse = /* get this image from somewhere */;
RadTreeNode item = new RadTreeNode("Node with custom icons");
//NOTE: You need to add the node to the treeview before working
// with the TreeViewElement property (otherwise it will be null)
radTreeView1.Nodes.Add(item);
//Set the expand and collapse images to whatever you want
item.TreeViewElement.ExpandImage = imageToUseForExpand;
item.TreeViewElement.CollapseImage = imageToUseForCollapse;
Или, если вы хотите сделать форматирование более общим (где вам не нужно указывать изображения каждый раз, когда вы создаете узел), вы можете обработать событие NodeFormatting следующим образом.:
//Either register the even in code (like this) or via the Designer
radTreeView1.NodeFormatting += radTreeView1_NodeFormatting;
//Then in the event handler, set the appropriate image
private void radTreeView1_NodeFormatting(object sender,
TreeNodeFormattingEventArgs e)
{
//See whether the node is currently expanded and set the image accordingly
if (e.Node.Expanded)
e.NodeElement.ExpanderElement.SignImage = imageToUseForExpand;
else
e.NodeElement.ExpanderElement.SignImage = imageToUseForCollapse;
}
Примечание. Я считаю, что событие NodeFormatting является относительно новым, поэтому для его использования вам потребуется последняя версия Telerik.Если у вас возникли проблемы с этим кодом, убедитесь, что вы используете последнюю версию элементов управления.