Использование изображений из разных проектов внутри решения

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

Например: у меня есть проект WP7.1, а файл WMAppManifest.xml содержит относительный путь к двум изображениям. А именно IconPath и BackgroundImageURI. Поэтому возникает очевидный вопрос: как связать их в XML и как связать с ними программно при использовании класса System.Uri?

Ваша помощь очень ценится.


person UnclePaul    schedule 06.08.2012    source источник
comment
См. stackoverflow.com/questions/12512239/.   -  person David Kean    schedule 28.09.2012


Ответы (1)


Вы можете добавить изображения в качестве ресурсов в свою портативную библиотеку классов. Однако их следует добавлять не как изображения, а как строки. Выдержка из документации MSDN (.NET Framework 4.5):

Исключение других членов ResourceManager из переносимой библиотеки классов означает, что сериализованные объекты, нестроковые данные и изображения не могут быть извлечены из файла ресурсов. Вы можете обойти это ограничение, сохранив данные объекта в строковой форме. Например, вы можете хранить числовые значения в файле ресурсов, преобразовывая их в строки, и вы можете извлекать их, а затем преобразовывать обратно в числа, используя метод Parse или TryParse числового типа данных. Вы можете преобразовать изображения или другие двоичные данные в строковое представление, вызвав метод Convert.ToBase64String, и восстановить их в массив байтов, вызвав метод Convert.FromBase64String.

Дополнительную информацию о доступе к ресурсам можно найти в переносимой библиотеке классов здесь.

person Anders Gustafsson    schedule 06.08.2012