我在VS2010的同一解决方案下有两个项目。 P1将P2作为项目引用。
P1包含来自P2的UserControl
,此UserControl
引用了P2本身的许多词典和转换器。另外,这两个项目运行顺利,没有问题。
问题是当P1从P2调用UserControl
时,会弹出一个异常,指出找不到UserControl所需的资源键。
有人能指出我正确的方向吗?
修改
这是引用(我删除了所有不相关的数据):
这是P1的App.xaml:
<Application x:Class="P1.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="MainWindow.xaml" >
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/Dictionaries/TabControlDictionary.xaml"/>
<ResourceDictionary Source="/Dictionaries/ButtonDictionary.xaml"/>
and so on....
</Close Everything>
这是P2的App.xaml:
<Application x:Class="P2.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="MainWindow.xaml" >
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/Dictionaries/ListBox1Dictionary.xaml"/>
<ResourceDictionary Source="/Dictionaries/ListBox2Dictionary.xaml"/>
and so on....
</Close Everything>
这就是P1创建UserControl的地方:
<Window xmlns:p2="clr-namespace:P2;assembly=P2"
and other stuff >
<Grid>
<p2:myUserControl />
</Close Everything>
在运行时期间发生异常,说它无法找到资源键。我还应该指出,P1和P2处于完全不同的文件夹和驱动器上。