如何在XAML中引用另一个依赖属性?

时间:2015-03-12 15:55:57

标签: c# wpf xaml dependency-properties

我有一个UserControl,其中包含两个DataTemplate依赖项属性:Template1Template2。我想通过Template2中的ContentControlTemplate1中呈现模板。我如何绑定到这个?我尝试使用以下内容,但得到了绑定异常:

<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>

1 个答案:

答案 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>