Не могу заставить упаковать Ури на работу - PullRequest
0 голосов
/ 23 марта 2012

У меня есть приложение WPF, которое я создаю. Решение содержит проект библиотеки управления WPF под названием CustomControls. В папке проекта CustomControls есть папка с названием Layouts. В этой папке есть файл XML с именем OnscreenLayout.xml. Свойство Build Action для этого файла имеет значение Embedded Resource.

Я пытаюсь загрузить этот файл в поток кода и передать поток методу из стороннего библиотечного класса. Рассматриваемый код выглядит следующим образом:

OnscreenKeyboard.DefaultLayout = FPS.VirtualKeyboard.KeyboardLayout.Create( 
    App.GetResourceStream( 
        new Uri( @"/CustomControls;component/Layouts/OnscreenLayout.xml", 
            UriKind.Relative ) ).Stream );

Когда этот код выполняется, он генерирует IOException с сообщением

Cannot locate resource 'layouts/onscreenlayout.xml'.

Я даже пытался использовать эту строку для Uri:

@"pack://application:,,,/CustomControls;component/Layouts/OnscreenLayout.xml"

Но не радость. Что я делаю не так?

Редактировать: я даже пытался изменить действие по сборке для файла с «Встроенный ресурс» на «Ресурс», и оно все еще не работает.

Спасибо

Tony

1 Ответ

0 голосов
/ 01 августа 2013

Только Содержимое и Ресурс Действия сборки действительны для файлов ресурсов, используемых в приложении WPF.

Пожалуйста, избегайте других действий сборки, таких как Встроенный ресурс - это также будет работать с соответствующим API, но WPF не поддерживает его.

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