我在WPF中有两个项目,一个项目是主要项目,第二个项目仅用于测试(它使用主项目的文件 - 文件通过项目添加 - >添加 - >现有项目。 .. - >选择文件 - >添加为链接,以便文件只在主项目中。
包含项目的文件夹是:
C:\Work\...\Projects\Main
C:\Work\...\Projects\XXXTestProject
其中XXX代表主项目的不同部分,我单独测试。
我有代码:
<Window x:Class="Sokoban.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:Sokoban"
xmlns:diag="clr-namespace:System.Diagnostics;assembly=WindowsBase"
Title="Window1" Height="559" Width="419">
<Window.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="GameDesk.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Window.Resources>
<Grid>
<Rectangle local:GameDeskProperties.FieldSize="30" Name="myrect" Style="{DynamicResource GameDesk}" MouseEnter="Rectangle_MouseEnter" />
</Grid>
</Window>
...应该使用GameDesk.xaml中的XAML资源,它位于主项目中,似乎我不能使用Pack URI(http://msdn.microsoft.com/en-us/library/aa970069.aspx)。如何指定文件?
我应该使用绝对路径吗? (C:\工作... \主\资源\ GameDesk.xaml)
或者还有其他方式吗?
谢谢你的帮助!
答案 0 :(得分:2)
使用表格的包:// URI:
包://应用:,,, / ReferencedAssembly;组件/子文件夹/ ResourceFile.xaml
如果XAML位于引用的程序集中
或
包:// siteoforigin:,,, /子文件夹/ SiteOfOriginFile.xaml
如果XAML松散并复制到bin文件夹。