带分隔符的 WPF TreeView 样式

WPF TreeView Style with Seperator

我正在设计自定义 TreeView 的样式,该控件模板当前是

<border>
    <grid>
       <button>
       <label>
       <ItemPresenter>
    </grid>
</border>

所以它最终看起来像这样

+ level 1
- level 2
   + level 2.1
   + level 2.2
   - level 2.3
       level 2.3.1
   +level 2.4
+ level 3

我需要在所有项目之间使用全长分隔符

+ level 1
-------------------
- level 2
-------------------
   + level 2.1
-------------------
   + level 2.2
-------------------
   - level 2.3
-------------------
       level 2.3.1
-------------------
   +level 2.4
-------------------
+ level 3
-------------------

现在,如果我设置边框,那么底部厚度为 1,我得到

+ level 1
-------------------
- level 2    
   + level 2.1
   ----------------
   + level 2.2
   ----------------
   - level 2.3       
       level 2.3.1
       ------------
   ----------------
   +level 2.4
   ----------------
-------------------
+ level 3
-------------------

谁能帮我找到在每一项之间划一行的最佳方法?

由于您没有 post 整个模板,我使用默认模板作为参考。

<ControlTemplate TargetType="{x:Type TreeViewItem}">
    <Grid>
        ....
        <ToggleButton x:Name="Expander" Style="{StaticResource ExpandCollapseToggleStyle}" IsChecked="{Binding Path=IsExpanded, RelativeSource={RelativeSource TemplatedParent}}" ClickMode="Press"/>
        <Border Name="Bd" Grid.Column="1" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Padding="{TemplateBinding Padding}">
            <ContentPresenter x:Name="PART_Header" ContentSource="Header" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"/>
        </Border>
        <ItemsPresenter x:Name="ItemsHost" Grid.Row="1" Grid.Column="1" Grid.ColumnSpan="2" />

        //Add code below 
        <Path Margin="-1000,0,0,0" Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="3" VerticalAlignment="Bottom" Stretch="Fill" StrokeThickness="1" StrokeStartLineCap="Square" StrokeEndLineCap="Square" Stroke="Blue" Data="M 0 0 H 1" />

    </Grid>

可以在此处找到 TreeViewItem 的默认模板https://msdn.microsoft.com/en-us/library/ms788727(v=vs.90).aspx