Silverlight: проверьте, существует ли изображение как ресурс во время выполнения - PullRequest
0 голосов
/ 04 марта 2010

В моей сборке Silverlight у меня есть несколько изображений в качестве ресурса. Для доступа к ним я использую следующий синтаксис:

/ Имя_сборки; компонент / PATH_TO_MY_IMAGE.png

Я создаю BitmapImages из codebehind, и я хотел бы иметь возможность знать во время выполнения, существует ли заданный путь к изображению в качестве ресурса в сборке, чтобы я мог решить, использовать ли это изображение или изображение по умолчанию (которое я знать всегда будет существовать).

Есть ли способ достичь этого? - Отражение? - Попробуйте создать экземпляр BitmapImage и проверить наличие ошибок?

Большое спасибо, Bruno

Ответы [ 2 ]

2 голосов
/ 06 марта 2010
Application.GetResourceStream(new Uri("/ASSEMBLY_NAME;component/PATH_TO_MY_IMAGE.png"));

Возвращает StreamResourceInfo, если файл существует, и ноль, если его нет.

Или, может быть, «Поток» в StreamResourceInfo равен нулю, если ресурс не существует - я написал код для этого, но это было некоторое время назад, поэтому я точно не помню. Хотя это было не сложно, поэтому я сомневаюсь, что у вас возникнут проблемы с его выяснением.

0 голосов
/ 09 сентября 2010

Возможно, это не то, что нужно в Silverlight, но не забудьте пакет: // application: ,,,

Application.GetResourceStream (новый Uri ("pack: // application: ,,," + "/ASSEMBLY_NAME;component/PATH_TO_MY_IMAGE.png"));

И если ресурс не существует, он запускает IOException

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