UserControl作为HeaderedContentControl.HeaderTemplate的内容

时间:2010-07-08 15:36:30

标签: wpf datatemplate

我有一个UserControl,我已成功使用它作为演示文稿的标题,涉及可以使用下面的xaml标记的列表:

<DockPanel >
    <uc:ListSubjectHeader Subject="{Binding DisplayName}" 
                          AddNewItemCommand="{Binding AddCommand}"
                           ImageSource="..."  />

<!-- other controls -->

</DockPanel>

我想在另一个演示文稿中使用相同的控件,它将是HeaderedContentControl中标题的内容,并提出了这个xaml来做到这一点:

<HeaderedContentControl Content="{Binding Path=DetailViewDepartment}" >
    <HeaderedContentControl.HeaderTemplate>
        <DataTemplate  DataType="{x:Type vm:DepartmentSelectionViewModel}">
            <uc:ListSubjectHeader Subject="{Binding DisplayName}" ...  />

        </DataTemplate>
    </HeaderedContentControl.HeaderTemplate>
</HeaderedContentControl>

视觉元素以我想要的方式显示,但数据却没有。我应该注意到,我在同一个演示文稿中的不同控件的DataTemplate中使用了相同的视图模型(vm:DepartmentSelectionViewModel),我将其作为一个不同的问题here。如果你知道这个问题的答案,你也可能知道答案。

我该如何解决这个问题?

干杯,
Berryl

1 个答案:

答案 0 :(得分:0)

HeaderTemplate适用于Header属性中的对象,而不是Content。 Content使用ContentTemplate,就像在普通的ContentControl中一样。