是否可以引用位于DataTemplateSelector中另一个程序集中的DataTemplate。
目前我有这样的事情:
public override DataTemplate SelectTemplate(object item, DependencyObject container)
{
var element = container as FrameworkElement;
if (element != null && item != null && item is BrowserBaseViewModel)
{
return element.FindResource("BrowserDataTemplate") as DataTemplate;
}
return null;
}
但它仅适用于当前的装配。
答案 0 :(得分:4)
当然,请在您的app.xaml
中写一个“ResourceDictionary”“include”,以便在您的应用程序中找到该词典。
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/MyOtherAssembly;component/MyAssemblyXaml.xaml" />
现在找到您的数据模板,因为资源查找将查看app.xaml资源,并找到您引用的xaml。