2015-05-28 8 views
0

У меня есть виртуализированный TreeView и я успешно использую описанный механизм here, чтобы выбрать данный объект домена в представлении (расширяя путь к объекту соответственно), но дерево всегда полностью реализована, что для моего случая является непомерно медленным (несколько тысяч предметов).WPF: выбор элемента в (виртуализированном) TreeView

Есть ли лучший способ получить от объекта в иерархии домена к дереву пункт вместо этого метода грубой силы? Я знаю путь к элементу в иерархии домена, поэтому я хотел бы реализовать только те элементы, которые лежат на пути к элементу, который будет выбран, но я не узнал, как это сделать.

ответ

1

Метод, который я использовал в прошлом, также включает в себя свойство IsExpanded, связывающее объект ViewModel (который представляет ваш визуальный TreeItem).

Вы можете пройти путь от вашего листа узла к корню дерева и установки IsExpanded в true, как вы идете, что означает не грубой силы противный, не MVVM совместимый код в код вашей XAML, чтобы сделать это ,

+0

Для этого потребуется обертка вокруг объектов моего домена, но это хороший и изобретательный способ достижения того, что я хочу. – pmf

+0

По сути, это 'ViewModel' - это оболочка/адаптер для целей, связанных с презентацией, вокруг объектов вашего домена (модели). ;) – toadflakz

Смежные вопросы