2

我在 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:\Work...\Main\Resources\GameDesk.xaml)

  • 或者还有其他方法吗?

谢谢你的帮助!

4

1 回答 1

2

MSDN链接在这里

使用以下形式的 pack:// URI:

pack://application:,,,/ReferencedAssembly;component/Subfolder/ResourceFile.xaml

如果 XAML 在引用的程序集中

或者

pack://siteoforigin:,,,/Subfolder/SiteOfOriginFile.xaml

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

于 2010-04-06T18:57:42.450 回答