我有一个UserControl
,其中包含两个DataTemplate
依赖项属性:Template1
和Template2
。我想通过Template2
中的ContentControl
在Template1
中呈现模板。我如何绑定到这个?我尝试使用以下内容,但得到了绑定异常:
<ContentControl ContentTemplate="{Binding RelativeSource={RelativeSource Self}, Path=Template2}" />
完整代码:
<MyUserControl>
<MyUserControl.Template1>
<DataTemplate>
<StackPanel>
<TextBlock Text="This is in Template1!" />
<ContentControl ContentTemplate="???" />
</StackPanel>
</DataTemplate>
</MyUserControl.Template1>
<MyUserControl.Template2>
<DataTemplate>
<TextBlock Text="This is in Template2!" />
</DataTemplate>
</MyUserControl.Template2>
</MyUserControl>
答案 0 :(得分:0)
你可以尝试这样的事情。
<Window.Resources>
<DataTemplate x:Key="Template2">
<TextBlock Text="This is in Template2!" />
</DataTemplate>
<DataTemplate x:Key="Template1">
<StackPanel>
<TextBlock Text="This is in Template1!" />
<ContentControl ContentTemplate="{StaticResource Template2}" />
</StackPanel>
</DataTemplate>
</Window.Resources>
<MyUserControl ContentTemplate="{StaticResource Template1}">
</MyUserControl>