0

我有以下 xaml: animationTemplate 在模板 1 和模板 2 之间切换。

我想通过将动画模板放在资源字典中来使其更可重用,以便多个控件可以使用相同的动画模板。问题是动画模板引用了模板 1 和模板 2,所以如果我将动画模板放入字典中,我会收到错误,因为动画模板找不到模板 1 和模板 2。

    <Window.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="Dictionary1.xaml" />
        </ResourceDictionary.MergedDictionaries>
        <DataTemplate x:Key="template1" />
        <DataTemplate x:Key="template2" />
        <DataTemplate x:Key="animationTemplate" />
    </ResourceDictionary>
</Window.Resources>
<ContentPresenter Content="{Binding}" ContentTemplate="{StaticResource animationTemplate}" />

除了将所有模板对放入字典并使用 contentTemplateSelector 从中挑选之外,还有更好的方法吗?我宁愿不这样做(即使可能,因为我在模板中有事件处理程序并且我不确定如何删除它们)

4

0 回答 0