C# 未使用HeaderedContentControl标题模板

C# 未使用HeaderedContentControl标题模板,c#,wpf,xaml,C#,Wpf,Xaml,我是WPF的新手,正在处理一些遗留代码,不知道如何使用HeaderedContentControl标头。我想把一个StackPanel和自定义的标题外观,只是不知道如何做到这一点 有人能给我一些下一步做什么的指导吗 我有这个xaml,HeaderTemplate从未使用过 <UserControl x:Class="PEC.Admin.WindowsControls.Program.Views.ProgramProductEnrichmentColorsView" xml

我是WPF的新手,正在处理一些遗留代码,不知道如何使用HeaderedContentControl标头。我想把一个StackPanel和自定义的标题外观,只是不知道如何做到这一点

有人能给我一些下一步做什么的指导吗

我有这个xaml,HeaderTemplate从未使用过

<UserControl x:Class="PEC.Admin.WindowsControls.Program.Views.ProgramProductEnrichmentColorsView"
         xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
         xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
         xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
         xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
         xmlns:commonControls="clr-namespace:ManagerConsole.Common.Controls;assembly=ManagerConsole.Common.Controls"
         xmlns:program="clr-namespace:PEC.Admin.ViewModel.Program;assembly=PEC.Admin.ViewModel.Program"
         mc:Ignorable="d" 
         d:DesignWidth="300" 
         d:DataContext="{d:DesignInstance program:ProgramProductEnrichmentColorsViewModel}">
    <commonControls:ExpanderPanel IsExpanded="{Binding Path=IsExpanded,Mode=TwoWay}">
        <HeaderedContentControl.HeaderTemplate> <!-- this never gets used... -->
            <DataTemplate>
                <StackPanel>
                    <Label Content="{Binding Path=Header}"></Label>
                </StackPanel>
            </DataTemplate>
        </HeaderedContentControl.HeaderTemplate>
        <StackPanel HorizontalAlignment="Stretch"
                    VerticalAlignment="Top"
                    Width="Auto"
                    Margin="3"
                    Background="White">
            <TextBlock Text="Source Type:"
                       Margin="0,5,0,0" />
            <TextBox IsReadOnly="True"
                     IsTabStop="False"
                     Background="LightGray"
                     BorderThickness="0"
                     Text="{Binding Path=SourceTypeName, Mode=OneTime}" />
        </StackPanel>
    </commonControls:ExpanderPanel>
</UserControl>

已应用HeaderTemplate。要验证它,请在HeaderTemplate中为标签设置背景

但HeaderTemplate不显示任何内容,因为绑定不正确。模板应用于
标题
属性中的数据集,该属性当前具有
null

因此,如下面的示例所示更改代码(我尝试使用Expander,希望它能用于自定义CommonControl:ExpanderPanel):


谢谢你…我唯一的问题是我试图绑定的不仅仅是一个字符串
Header
实际上是一个具有两个属性的类型,这两个属性都是字符串。如何将标头(一个复杂的对象)绑定到模板。谢谢
<Expander IsExpanded="{Binding Path=IsExpanded, Mode=TwoWay}" 
          Header="{Binding ComplexObject}">
  <HeaderedContentControl.HeaderTemplate>
    <DataTemplate>
        <StackPanel>
            <Label Background="Green" Content="{Binding PropertyOfTheObject}"/>
        </StackPanel>
    </DataTemplate>
  </HeaderedContentControl.HeaderTemplate>
</Expander>
<Expander.Header>
   <TextBlock Text="Click to expand"/>
</Expander.Header>