Страницы

Поиск по вопросам

понедельник, 15 июля 2019 г.

Как по ViewModel найти ее контрол?

В SelectedItem приходит Vm из которой контрол достает данные. Но как мне получить сам контрол, а не его Vm?
private void AssociatedObject_DragOver(object sender, DragEventArgs e) { var selectedItem = this.AssociatedObject.SelectedItem; var module = selectedItem as ModuleVm; if (module != null) { //сделать IsSelected = false; } }


Ответ

Проще всего должно быть получить TreeViewItem по VM отдельного элемента так:
(TreeViewItem)treeView.ItemContainerGenerator.ContainerFromItem(vm)
Отталкиваясь от него, можно либо найти поиском в глубину ItemTemplate, или работать с контейнером непосредственно.

Комментариев нет:

Отправить комментарий