Как указать путь к файлу из другого проекта в WPF? - PullRequest
2 голосов
/ 06 апреля 2010

У меня есть два проекта в WPF, и один проект является основным, а второй предназначен только для тестирования (он использует файлы основного проекта - файлы добавляются через Project -> add -> существующих элементов ... -> выбранный файл -> добавить как ссылку, чтобы файл находился только в основном проекте).

Папки с проектами:

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>

... который должен использовать ресурсы XAML из GameDesk.xaml, который находится в основном проекте, и кажется, что я не могу использовать Pack URI (http://msdn.microsoft.com/en-us/library/aa970069.aspx). Как мне указать файл?

  • Должен ли я использовать абсолютный путь? (C: \ Work ... \ Main \ Resources \ GameDesk.xaml)

  • Или есть другой способ?

Спасибо за помощь!

1 Ответ

2 голосов
/ 06 апреля 2010

Ссылка MSDN здесь

Используйте пакет: // URI вида:

упаковка: // Применение: ,,, / ReferencedAssembly; компонент / подпапки / ResourceFile.xaml

если XAML находится в ссылочной сборке

или

упаковка: // siteoforigin: ,,, / подпапок / SiteOfOriginFile.xaml

если XAML свободен и скопирован в папку bin.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...