Itemscontrol 修改控件模板

Itemscontrol Modify control template

我想修改 itemscontrol 模板,而不是修改每个项目的显示方式,而是修改实际的 itemscontrol

 <ItemsControl
         ItemsSource="{Binding RB}" Grid.Row="1"
         ItemTemplate="{StaticResource myBTemplate}">
         <ItemsControl.ItemsPanel>
                  <ItemsPanelTemplate>
                           <StackPanel></StackPanel>
                  </ItemsPanelTemplate>
         </ItemsControl.ItemsPanel>
 </ItemsControl>

我有这个并且工作正常,我得到了项目的堆栈面板行为和每个项目的自定义数据模板,但我找不到修改容器的方法。假设将标题放入我的项目列表中,而不是在项目控制之外这样做。 如果我设置了 ControlTemplate 项目,则不再显示。 (此 Itemscontrol 是上层 DataTemplate 的一部分)

在 Clemens 发表评论后,我更多地搜索了 Items presenter 而不是 ControlTemplate。

发现我只需要 在 ControlTemplate 中的某处添加项目展示器,没有特殊标签,只是尊重树格式。

<ItemsControl
  ItemsSource="{Binding RB}" Grid.Row="1"
  ItemTemplate="{StaticResource myBTemplate}">
         <ItemsControl.Template>
           <ControlTemplate TargetType="{x:Type ItemsControl}">
             <StackPanel>
              <Grid Margin="5" Height="50">
               <Ellipse Stroke="DarkBlue" StrokeThickness="2">
                  <Ellipse.Fill>
                    <RadialGradientBrush Center="0.3,0.2" RadiusX="0.5" RadiusY="0.5">
                      <GradientStop Color="Azure" Offset="0.1" />
                      <GradientStop Color="CornflowerBlue" Offset="1.1" />
                    </RadialGradientBrush>
                  </Ellipse.Fill>
               </Ellipse>
              </Grid>
               <StackPanel >
                 <ItemsPresenter Margin="2,0,0,0"/>
               </StackPanel>
             </StackPanel>
            </ControlTemplate>
           </ItemsControl.Template>
</ItemsControl>