WPF设计器无法加载Generic.xaml

本文关键字:加载 Generic xaml WPF | 更新日期: 2023-09-27 18:12:09

我写了一个WPF类库。它是通用的。项目中主题文件夹下的xaml文件,以及AssemblyInfo.cs文件中的ThemeInfo属性:

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

一切都很好,除了在设计器。我在使用StaticResource来引用画笔,样式和其他资源的任何地方都会看到蓝色的弯弯曲曲的线条,上面写着:

资源'[资源名]'找不到。

我真的想让设计师挑选我的Generic。xaml文件并显示控件,因为我已经为它们设置了样式。我怎样才能做到这一点呢?

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

WPF设计器无法加载Generic.xaml

新建一个名为App.xaml的页面,将Application作为类库中的根元素,将Build Action设置为Page。现在添加泛型。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中的问题。