Изображения в окне WPF выдают исключение при запуске с помощью отражения - PullRequest
1 голос
/ 27 апреля 2011

У меня есть приложение WPF, в котором я добавил изображения в качестве ресурсов в проект (а не в настройках проекта, например, как во втором ответе здесь ), поэтому они находятся в папке.Я использую их следующим образом в xaml:

<Image Width="32" Height="32" Source="/Images/Effect.png" />

Когда я запускаю программу вручную, из Visual Studio или Explorer, изображения отображаются нормально, без ошибок и т. Д.

Но когдаЯ запускаю его из другого приложения через отражение, оно печатает следующие исключения в Visual Studio:

System.Windows.Data Ошибка: 6: преобразователю 'TargetDefaultValueConverter' не удалось преобразовать значение '/Images/Effect.png'(введите' String ');будет использоваться запасное значение, если оно доступно.BindingExpression: Path = EffectIcon;DataItem = 'Node' (HashCode = 34743541);целевым элементом является 'Image' (Name = '');Свойство target - «Source» (тип «ImageSource»). IOException: «System.IO.IOException: не удается найти ресурс« images / effect.png ».

В конце приложение запускается нормально.но все изображения отсутствуют.

Есть идеи, как это исправить?

Должен ли я связывать изображения другим способом?

Ответы [ 2 ]

3 голосов
/ 27 апреля 2011

Возможно, проблема в том, что изображения будут искать в сборке, из которой вы создали экземпляры своих модулей с помощью отражения. Одна из возможностей решения этой проблемы состоит в том, что вы назначаете полный путь к изображениям, включая имя сборки. Что-то вроде:

Source="/AssemblyName;component/image/effect.png"
1 голос
/ 29 апреля 2011

Попробуйте это: "pack: // application: ,,, / AssemblyName; /components/image/effect.png"

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