我有以下 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 从中挑选之外,还有更好的方法吗?我宁愿不这样做(即使可能,因为我在模板中有事件处理程序并且我不确定如何删除它们)