我在运行时从外部程序集加载ResourceDictionary:
ResourceDictionary myResourceDictionary =(ResourceDictionary)reader.LoadAsync(stream);
Application.Current.Resources.MergedDictionaries.Add(myResourceDictionary);
ResourceDictionary包含
<DataTemplate DataType="{x:Type vm:MainViewModel}">
<view:MainView Background="Blue"></view:MainView>
</DataTemplate>
MainView是一个简单的UserControl
<UserControl Background="Red"
....
>
我将ContentControl的DataContext设置为MainViewModel的实例,并按预期显示MainView用户控件,但背景为红色 - 而不是蓝色,如DataTemplate中所定义。当我删除usercontrol中的Background属性时,将应用DataTemplate中定义的颜色。
放入应用程序资源,相同的DataTemplate可以正常工作。
这里有什么想法吗?