Вот еще вопрос. Дерево TreeView загружается вручную на основе данных, которые приходят из внешней библиотеки, написанной на С++.
Интерфейс достаточно простой: getChildCount, getChild, getNodeName и т.п., загрузка работает.
А теперь пришло время задуматься о том, как же это дерево редактировать.
Редактирование также происходит внутри С++ библиотеки, т.е. я могу зная внутренний (библиотечный) хэндл элемента, вставить новый элемент, удалить, переименовать, переставить два элемента местами, переместить элемент в произвольную часть дерева и т.п. Нужно синхронизировать все это с видом.
Я понимаю что все фреймворки как правило навязывают свою model-view архитектуру, и наверное придется и здесь с ней разбираться...
Идти самым простым и тупым путем — перезагружать все дерево каждый раз при любом изменении — не хочется. Кроме того, состояние (какие узлы открыты/закрыты, позицию прокрутки и т.п.) также нужно сохранить.
Т.е. хорошо бы делать частичные обновления. Но поскольку я совсем не знаю WPF, то даже не представляю с чего начать, в каком направлении искать примеры реализации и т.д. То что в инете, как я понимаю, обычно модель-вид внутри C#, т.е. модель также является чем-то дотнетовским, типа xml докумнета. Возможно, нужно написать какую-то обертку, реализующую интерфейс модели, понятный виду, а внутри обращающийся к вызовам С++ библиотеки?