在运行时加载的Datatemplates无法覆盖属性

时间:2017-10-06 10:29:29

标签: .net wpf xaml

我在运行时从外部程序集加载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可以正常工作。

这里有什么想法吗?

0 个答案:

没有答案