<esri:Legend.Template>
<ControlTemplate TargetType="{x:Type esri:Legend}">
<TreeView BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
Background="{TemplateBinding Background}"
Foreground="{TemplateBinding Foreground}"
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
Padding="{TemplateBinding Padding}"
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"
ItemsSource="{TemplateBinding LayerItemsSource}">
<TreeView.ItemTemplate>
<HierarchicalDataTemplate AlternationCount="0"
ItemBindingGroup="{x:Null}"
ItemTemplate="{x:Null}"
ItemContainerStyleSelector="{x:Null}"
ItemStringFormat="{x:Null}"
ItemsSource="{Binding LayerItemsSource}"
ItemContainerStyle="{x:Null}"
ItemTemplateSelector="{x:Null}">
<ContentPresenter ContentTemplate="{Binding Template}" Content="{Binding}"/>
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
<TreeView.ItemContainerStyle>
<Style TargetType="{x:Type TreeViewItem}">
<Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}"/>
<Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}"/>
</Style>
</TreeView.ItemContainerStyle>
<TreeView.Template>
<ControlTemplate TargetType="{x:Type TreeView}">
<s:SurfaceScrollViewer Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
Foreground="{TemplateBinding Foreground}"
Style="{StaticResource VerticalSurfaceScrollViewerStyle}">
<ItemsPresenter/>
</s:SurfaceScrollViewer>
</ControlTemplate>
</TreeView.Template>
</TreeView>
</ControlTemplate>
</esri:Legend.Template>
<HierarchicalDataTemplate ItemsSource="{Binding LayerItemsSource}">
<ContentPresenter ContentTemplate="{Binding Template}" Content="{Binding}"/>
</HierarchicalDataTemplate>
<ControlTemplate TargetType="esriToolkit:Legend">
<TreeView ItemsSource="{TemplateBinding LayerItemsSource}"
Background="{TemplateBinding Background}"
Foreground="{TemplateBinding Foreground}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}"
Padding="{TemplateBinding Padding}"
HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}"
VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"
>
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding LayerItemsSource}" >
<ContentPresenter TextElement.Foreground="{Binding Path=Foreground, RelativeSource={RelativeSource AncestorType={x:Type TreeView}} }" Content="{Binding}" ContentTemplate="{Binding Template}" />
</HierarchicalDataTemplate>
</TreeView.ItemTemplate>
<TreeView.ItemContainerStyle>
<Style TargetType="TreeViewItem">
<Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}"/>
<Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}"/>
</Style>
</TreeView.ItemContainerStyle>
</TreeView>
</ControlTemplate>