Установка изображения на локальный ресурс на WP7 - PullRequest
0 голосов
/ 13 июня 2011

Позвольте мне начать с того, что я попробовал это и посмотрел на это (что приводит только к первому). Это отличные решения для 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».

Я надеюсь, что упускаю что-то очевидное. Спасибо за просмотр моей проблемы и, если вам нужна дополнительная информация, пожалуйста, оставьте комментарий.

Ответы [ 2 ]

3 голосов
/ 13 июня 2011

Вы должны использовать Действие Построения Content, а не Resource.

1 голос
/ 14 июня 2011

Я сомневаюсь, что это ваша проблема, но убедитесь, что вы передаете UriKind.Relative конструктору Uri.

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