我刚刚获得了VS2013并打开了我的VS2010项目,但现在我无法看到任何xaml设计。问题在于样式没有被应用:
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/Themes/Colors.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
给我报错信息:
错误1:查找资源字典“/Themes/Colors.xaml”时发生错误。
在VS2010中可以正常工作。生成选项设置为Page。所有目标框架都设置为.NET 4。
目录结构如下:
Host\Themes\Colors.xaml
Plugins\EqPlugin\Source\ProblemFile.xaml
主题是在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">
错误发生的文件位于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">
我尝试将路径更改为相对路径,但仍然不起作用。我已经删除并重新添加了程序集,重新启动了等操作,所有项目都是为相同的框架构建的。我不知道还有什么其他的尝试方法。
pack://application:,,,
看起来没有什么作用。直到我把合并字典中的样式应用到一个控件上,XAML 设计器才终于停止显示错误,并显示出表单。 - Wallace Kelly