The reason why the property is not set immediately is rooted in the control lifecycle in items controls in WPF and Silverlight.
Normally all initialization of the container of an item happens in the PrepareContainerForItemOverride
which is called during the first layout pass of the control. Technically we can listen for changes in the items collection and set the property right after it has been added (if the item is a container), but we would like to keep initialization of containers consistent, so I cannot promise that this will be changed.
In the case of adding a treeViewItem in the items collection, you can immediately get its parent by:
|var parent = System.Windows.Controls.ItemsControl.ItemsControlFromItemContainer(newItem);
I understand that this is not the same as just accessing the property but hopefully you will be able to use it.
All the best,
the Telerik team