1

是否可以引用位于 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;
    }

但它仅适用于当前程序集。

4

1 回答 1

4

当然,在您app.xaml的 ResourceDictionary 中写入“包含”,以便可以在您的应用程序中找到该词典。

<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="/MyOtherAssembly;component/MyAssemblyXaml.xaml" />

现在将找到您的数据模板,因为资源查找将查看 app.xaml 资源,并找到您引用的 xaml。

于 2013-04-02T08:42:57.287 回答