У меня есть пользовательский элемент управления следующим образом:
<CustomControl>
<CustomControl.ContentTemplate>
<DataTemplate>
<StackPanel Orientation="Vertical">
<TextBlock Text="{Binding Name}"/>
</StackPanel>
</DataTemplate>
</CustomControl.ContentTemplate>
</CustomControl>
В шаблоне элемента управления CustomControl я пытаюсь привязаться к CustomControl.ContentTemplate из DataTemplate, но он не работает:
<ListBox
ItemsSource="{Binding SearchResultsList}">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Vertical">
<ContentControl
Content="{Binding}"
ContentTemplate="{TemplateBinding ContentTemplate}">
</ContentControl>
<ItemsControl
ItemsSource="{Binding HierarchyPath}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="->"/>
<TextBlock Text="{Binding Name}"/>
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Примечание: ContentTemplate = "{TemplateBinding ContentTemplate}"
Я знаю, что вы не можете использовать TemplateBinding внутри Datatemplate, даже если DataTemplate находится внутри шаблона элемента управления. Но кто-нибудь знает, как достичь того, чего я хочу достичь без использования TemplateBinding?