2016-01-18 3 views
0

Я использую пользовательский элемент управления WPF в API autocad.WPF treeview item type variable

Dim newnode Как System.Windows.Controls.TreeViewItem newnode = mypalette2.treeview1.Items.Add (e.DBObject.GetType(). ToString())

, но он дает ошибку " значение целого не может быть преобразовано в treviewitem "

Пожалуйста, помогите!

ответ

0

Add() возвращает индекс, в который элемент был добавлен в коллекцию «Элементы», а не сам объект TreeViewItem. Используйте индекс, чтобы получить TreeViewItem из коллекции Items:

неопробованного код, но это должно сделать это (не писать, как это - сделать его чище;)):

Dim newnode As System.Windows.Controls.TreeViewItem newnode = mypalette2.treeview1.Items(mypalette2.treeview1.Items.Add(e.DBObject.GetType().ToString())) 

В идеале 'Сначала проверьте, чтобы команда Add() не возвращала -1, что означает, что операция добавления не выполнена.

0

я предпочел бы:

Dim newNode As New TreeNode 
newNode.Text = e.DBObject.GetType().Name 
newNode.Tag = e.DBObject.ObjectId 
_treeView.Nodes.Add(newNode) 

И рекомендовал бы установить свойство Tag с ObjectId в сущности, в противном случае вы не можете обратиться к этому вопросу (на дереве) позже в вашем коде.