如何在WPF中指定来自不同项目的文件路径?

时间:2010-04-06 18:38:35

标签: wpf visual-studio path

我在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)

  • 或者还有其他方式吗?

谢谢你的帮助!

1 个答案:

答案 0 :(得分:2)

MSDN link here

使用表格的包:// URI:

包://应用:,,, / ReferencedAssembly;组件/子文件夹/ ResourceFile.xaml

如果XAML位于引用的程序集中

包:// siteoforigin:,,, /子文件夹/ SiteOfOriginFile.xaml

如果XAML松散并复制到bin文件夹。