相关疑难解决方法(0)

无法引用包含合并字典的资源字典

我有一个库,CommonLibraryWpfThemes,里面有几个Resource Dictionary XAML文件.My Themes/Generic.xml文件包含一个ResourceDictionary.MergedDictionaries声明,它将所有其他文件合并在一起.

Generic.xaml

<ResourceDictionary
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary
            Source="/CommonLibraryWpfThemes;component/ResourceDictionaries/BrushDictionary.xaml" />
        <ResourceDictionary
            Source="/CommonLibraryWpfThemes;component/ResourceDictionaries/TextBlockDictionary.xaml" />
        <ResourceDictionary
            Source="/CommonLibraryWpfThemes;component/ResourceDictionaries/LabelDictionary.xaml" />
        <ResourceDictionary
            Source="/CommonLibraryWpfThemes;component/ResourceDictionaries/ButtonDictionary.xaml" />
        <ResourceDictionary
            Source="/CommonLibraryWpfThemes;component/ResourceDictionaries/WindowDictionary.xaml" />
    </ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
Run Code Online (Sandbox Code Playgroud)

在我的应用程序项目中,我引用了CommonLibraryWpfThemes,并在我的App.xaml文件中显式引用了Generic.xml.

App.xaml - 失败

<Application
    x:Class="MyApp.App"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <Application.Resources>
        <ResourceDictionary
            Source="/CommonLibraryWpfThemes;component/Themes/Generic.xaml" />
    </Application.Resources>
</Application>
Run Code Online (Sandbox Code Playgroud)

这不起作用.运行我的应用程序时出现以下错误:

System.Windows.Markup.XamlParseException occurred
  Message="Cannot find resource named '{_fadedOrangeBrush}'. Resource names are case sensitive.  Error at object 'System.Windows.Setter' in markup file 'CommonLibraryWpfThemes;component/ResourceDictionaries/WindowDictionary.xaml' Line 18 Position 13."
  Source="PresentationFramework"
  LineNumber=18
  LinePosition=13
Run Code Online (Sandbox Code Playgroud)

如果我直接将Generic.xaml的内容放入App.xaml,一切正常:

App.xaml - SUCCEEDS

<Application
    x:Class="MyApp.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 …
Run Code Online (Sandbox Code Playgroud)

wpf xaml themes resourcedictionary

44
推荐指数
3
解决办法
4万
查看次数

查找资源字典时发生错误

我在App.xaml主程序集中有一个合并的资源字典,它结合了来自不同程序集的各种资源字典:Common和PresentationLayer.

<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="/Common;component/Themes/Button.xaml"/>
            <ResourceDictionary Source="/PresentationLayer;component/DataTemplates/AppointmentsDataTemplates.xaml"/>
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Application.Resources>
Run Code Online (Sandbox Code Playgroud)

在运行时,资源字典中的样式将正确应用于控件.但是,在设计时不会应用样式,Visual Studio 2012会不断出现以下错误:

An error occurred while finding the resource dictionary "/Common;component/Themes/Button.xaml".
Run Code Online (Sandbox Code Playgroud)

并警告:

The resource "BannerButton" could not be resolved.
Run Code Online (Sandbox Code Playgroud)

我遇到过这篇文章,但问题仍然存在,尽管Build Action设置为Resource.此外,我在Visual Studio 2010或Expression Blend 4下运行时没有遇到此问题.主程序集肯定包含对Common程序集的引用,我没有更改Pack URI.

wpf visual-studio-2012

16
推荐指数
2
解决办法
2万
查看次数

VS2013:查找资源字典时发生错误

我刚刚获得VS2013并打开了我的VS2010项目.但是现在我看不到任何xaml设计.问题是没有应用样式:

   <UserControl.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="/Themes/Colors.xaml"/>
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
Run Code Online (Sandbox Code Playgroud)

给我错误:

错误1查找资源字典"/Themes/Colors.xaml"时发生错误.

这在VS2010中工作正常.构建选项设置为Page.所有目标框架都设置为.NET 4.

目录结构是这样的:

Host\Themes\Colors.xaml    
Plugins\EqPlugin\Source\ProblemFile.xaml
Run Code Online (Sandbox Code Playgroud)

主题在VEParameters项目中定义并声明:

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
                xmlns:local="clr-namespace:EQPlugin;assembly=VEParameterTool">
Run Code Online (Sandbox Code Playgroud)

发生错误的文件位于EqPlugIn目录中并声明:

<UserControl x:Class="EQPlugin.EQControl"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             xmlns:src="clr-namespace:VEParameterTool;assembly=VEParameterTool"             
             xmlns:l="clr-namespace:EQPlugin"  
             xmlns:sys="clr-namespace:System;assembly=mscorlib"
             xmlns:oxy="http://oxyplot.codeplex.com"
             mc:Ignorable="d">
Run Code Online (Sandbox Code Playgroud)

我已经尝试将路径更改为相对路径,但这不起作用,我已删除并重新添加程序集,我已重新启动等,所有项目都是为同一框架构建的.我不知道还有什么可以尝试的.

wpf visual-studio-2013

5
推荐指数
1
解决办法
5268
查看次数

在Visual Studio中对项目进行模板化

我在Visual Studio中创建了一个Windows移动应用程序.我想将这个项目模板化,以便可以将其作为模板而不是项目打开.

这在Visual Studio中可行吗?我读到有一种称为"VSX(Visual Studio扩展)"的东西可以达到这个目的.我在我的系统中安装了Visual Studio Ultimate,并且正在尝试安装VS2010 SDK.但它没有得到安装告诉我没有我显然做的MS Visual Studio 2010.

我正朝着正确的方向前进吗?如果不是什么是正确的方法去?

c# visual-studio-2010 visual-studio vsix

4
推荐指数
1
解决办法
357
查看次数

WPF VS2013:查找资源字典时发生错误

球队,

我在Visual Studio 2013中有一个简单的wpf项目.结构如下所示.错误所说的全部内容如标题"查找资源字典时发生错误"所示.我从网上尝试了许多建议并且没有耐心.每件事似乎都没问题.任何有经验的人都可以提出一些建议.提前致谢.

VS 2013 Wpf Project显示有关资源的错误

c# wpf dictionary resourcedictionary visual-studio-2012

4
推荐指数
1
解决办法
4336
查看次数