WPF设计器无法加载Generic.xaml

时间:2014-07-08 10:58:19

标签: c# .net wpf xaml designer

我写了一个WPF类库。它在项目的themes文件夹下有一个Generic.xaml文件,在AssemblyInfo.cs文件中有一个ThemeInfo属性:

[assembly: ThemeInfo(
    ResourceDictionaryLocation.None, 
    ResourceDictionaryLocation.SourceAssembly)]

一切都很好,除了设计师。在我使用StaticResource来引用我的画笔,样式和其他资源时,我得到蓝色的线条线:

  

资源' [资源名称]'无法找到。

我真的希望设计师拿起我的Generic.xaml文件并显示控件,因为我已经设置了它们。我怎样才能做到这一点?

更新

我已将Yogesh的回答标记为正确,但这里有更多信息。我在App.xaml文件的构造函数中添加了资源字典,而不是在xaml中。 XAML设计器似乎没有执行App.xaml文件的代码。

1 个答案:

答案 0 :(得分:3)

只需添加名为App.xamlApplication的新页面作为类库中的根元素,并将Build Action设置为Page。现在将generic.xaml文件添加为资源字典。像这样......

<Application x:Class="[YourNamespace].App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <Application.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="[AbsoluteOrRelativePath]/Generic.xaml" />
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </Application.Resources>
</Application>

执行此操作后,重建项目,关闭所有xaml视图并再次重新打开它们。这应该可以解决您在VS2012 / 2013和Blend 2012中的问题。