You can use Treeview's ItemTemplateSelector
public class TreeViewTemplateSelector : DataTemplateSelector
{
private DataTemplate _Template1;
public DataTemplate Template1
{
get { return _Template1; }
set { _Template1 = value; }
}
private DataTemplate _Template2;
public DataTemplate Template2
{
get { return _Template2; }
set { _Template2 = value; }
}
public override DataTemplate SelectTemplate(object item, DependencyObject container)
{
return item.GetType() == typeof(property1) ? Template1 : Template2;
}
}
Put below xaml inside Treeview
<TreeView.ItemTemplateSelector>
<yourNamespace:TreeViewTemplateSelector Template1="{StaticResource template1}" Template2="{StaticResource template1}">
</c:TreeViewTemplateSelector>
</TreeView.ItemTemplateSelector>