Позвольте мне начать с того, что я попробовал это и посмотрел на это (что приводит только к первому). Это отличные решения для WPF. Как мы все узнаем, в Windows Phone 7 отсутствуют некоторые замечательные крайние случаи.
Кажется, мой проект лишен динамических изображений. У меня есть тег, который я пытаюсь привязать к файлу ресурса, и он не работает. Я пробовал оба следующих варианта, но ни один из них не помог.
Во-первых, самый популярный конвертер. Принимает строку URI и возвращает растровое изображение. Очевидно, это работает в WPF, но я не могу заставить его работать.
public class BitmapImageConverter : IValueConverter
{
public object Convert(object value, Type targetType,
object parameter, CultureInfo culture)
{
try
{
return new BitmapImage(new Uri((string)value));
}
catch
{
return new BitmapImage();
}
}
public object ConvertBack(object value, Type targetType,
object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
Тогда есть свойство BitmapImage. Не ожидал, что это сработает, и это не разочаровало.
public BitmapImage ImgSource
{
get
{
// ImgURI is a URI to the image.
BitmapImage newImg = new BitmapImage(new Uri(ImgURI));
// Tried ALL the creation options. :(
//newImg.CreateOptions = BitmapCreateOptions.None;
return newImg;
}
}
Это XAML, который я использую для конвертера (который определен в другом месте), это ....
<Image Name="imgMap"
VerticalAlignment="Center"
HorizontalAlignment="Center"
Source="{Binding ImgURI, Mode=OneWay, Converter={StaticResource bitmapConverter}}"
Stretch="None"/>
Я отладил его до такой степени, что я знаю, что каждая привязка возвращает то, что должна. Конвертер называется и делает то, что, я думаю, должен. ImgURI всегда возвращает строку в формате "/MyNamespace;component/Images/MyImg.jpg", а ImgSource всегда был bitmapImage. Все изображения имеют действие BuildAction «Resource».
Я надеюсь, что упускаю что-то очевидное. Спасибо за просмотр моей проблемы и, если вам нужна дополнительная информация, пожалуйста, оставьте комментарий.