I often bind the IsExpanded and IsSelected properties of a TreeViewItem to my viewmodel. This for example makes it possible to make an item pre-expanded when the tree is loaded
Have you tried:
<Style TargetType="TreeViewItem" d:DataContext="{d:DesignInstance
test:TestItemViewModel}">
Atleast for me the properties are highlighted and shown with IntelliSense in VS 2015 and R#9.
Seems to be an identical solution to Specify datacontext type on listbox ItemContainer in style
@lhildebrandt's answer is generally right, but in my case this solution produces errors that totally disable displaying the view in designer. Specifying <d:Style.DataContext>
inside <Style>
tag helped me.
<Style>
<d:Style.DataContext>
<x:Type Type="local:MyTreeItem" />
</d:Style.DataContext>
<!--usual setters, triggers, etc.-->
</Style>
In this way d:DataContext
can also be specified for controls, and we can provide it interfaces, nested classes and even generics without any errors:
https://stackoverflow.com/a/46637478/5598194