Wpf treeview выбранный пункт привязки данных - PullRequest
0 голосов
/ 10 июня 2011

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

Затем я получил текстовое поле, привязанное к selectedItem древовидной структуры.Здесь я сериализирую выбранный элемент в XML и отображаю его в текстовом поле для редактирования.

Пока все хорошо.Однако большая проблема, с которой я столкнулся, заключается в том, что я не могу использовать двухстороннюю привязку данных со свойством SelectedItem древовидной структуры, так как оно доступно только для чтения.

Как правильно синхронизировать изменения текстового поля с моим объектомчто связано с деревом?

Ответы [ 2 ]

0 голосов
/ 10 июня 2011

Ваш поток XML должен быть представлен как свойство на вашем узле SelectedItem, и ваш TextBox должен каким-то образом быть связан с этим.SelectedItem доступен только для чтения, но объект, на который он ссылается, - нет.Если вы используете двустороннее связывание с этим свойством, вы сможете корректно влиять на ваши изменения.Это будет сделано в используемых вами DataTemplates и HiearchicalDataTemplates, поскольку они связаны с базовым представлением данных узлов, которые вы представляете с помощью TreeView.

0 голосов
/ 10 июня 2011

Я не думаю, что вам нужно выполнять двустороннюю привязку данных к самому SelectedItem, вы должны предоставить свойство в классе вашего связанного объекта, которое возвращает сериализованную строку и после set соответствующим образом изменяет объект.Это должно быть проще, чем иметь дело с объектом в целом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...