У меня есть древовидная структура с источником данных, содержащим элементы пользовательского класса TreeviewItem.
У меня есть свойство SelectedTreeviewItemViewModel типа TreeviewItem.
public TreeviewItem SelectedTreeviewItemViewModel //with INPC
У меня есть элемент управления содержимым где-то еще в окне
<ContentControl Content="{Binding SelectedTreeviewItemViewModel}" />
с табличкой данных следующим образом:
<DataTemplate DataType="{x:Type TreeviewItem}">
<uc:TreeviewCustomView />
</DataTemplate>
Когда я щелкаю по элементу древовидной структуры, запускается событие SelectedItemChanged, и я устанавливаю SelectedTreeviewItemViewModel, который заставляет Contentcontrol обновлять свойcontent.
Логика в порядке, однако я заметил, что когда я нажимаю на новый элемент в древовидной структуре, некоторые данные обновляются, но я не захожу в конструктор пользовательского элемента управления (uc: TreeviewCustomView).
Существует ли какая-либо виртуализация?Я предполагаю, что WPF кеширует таблицу данных;Есть ли способ заставить WPF заново создавать пользовательский элемент управления с нуля (таким образом, входя в конструктор) каждый раз, когда я нажимаю на элемент дерева?