Там должно быть лучше тогда следующее для получения «Childitem»Получение TreeViewItem на вновь созданных элементов
TaskItem task = (sender as Canvas).DataContext as TaskItem;
TaskItem child = Tasks.CreateTask("New task", task);
TreeViewItem item = treeView.ItemContainerGenerator.ContainerFromItem(task) as TreeViewItem;
item.UpdateLayout();
TreeViewItem childItem = null;
foreach (var i in item.GetDescendantContainers())
{
if (i.GetItem() == child)
childItem = i;
}
По какой-то причине item.ItemGenerator.ContainerFromItem (ребенок) не работает (должно быть связано к объекту, который только что был создан)