Я пишу приложение для Windows Phone 7 и, хотя мне кажется, что я понимаю, как привязать поля к данным, я не могу привязать изображение к элементу XAML.
ЭтоВот как определяется мой элемент изображения в моем XAML:
<image Source="{Binding ImageLocation}" > </image>
ImageLocation - это строковое свойство.По какой-то причине мое изображение отображается, если «ImageLocation» является строкой, которая указывает на изображение в Интернете (например, «http://whatever/image.jpg")», но ничего не показывает, если изображение хранится локально в изолированном хранилище.
Действительно, изображение находится в папке в изолированном хранилище под названием «Изображения». Поэтому я попытался установить для свойства ImageLocation значение «Images \ image.jpg», но это не сработало. Изображение просто не отображаетсявверх. Я также пробовал несколько вариантов, таких как "/Images/image.jpg", "http://localhost/Images/image.jpg", и все другие нечетные комбинации.
Я также пытался сделать это:
<image Source="{Binding Path=ImageLocation}"> </image>
но это тоже не сработало. Изображение просто не отображается, если оно локальное, но всегда работает, если оно находится на удаленном сайте.
Я видел различные примерыв Интернете с помощью «Конвертера» для отображения изображения. Поскольку я новичок в C # и Silverlight, я не очень понимаю, зачем мне нужен конвертер для этого. Насколько я понимаю, конвертер для изображения будетпросто ретуили строка, или фактические данные изображения, основанные на том, что потребуется элементу XAML (я могу ошибаться).Однако, поскольку я заранее знаю, что строка должна работать, зачем мне даже писать этот конвертер?
Кроме изображения, все остальные мои поля связаны правильно.
Вот кое-что омой код установки:
Я определяю элемент ListBox на моей странице XAML, которая имеет ItemTemplate и DataTemplate.Внутри этого у меня есть сетка с двумя столбцами, которые содержат изображения и текстовые поля соответственно.
Кроме этого, у меня есть класс, полученный из IList для поддержки отложенной загрузки.Этот класс имеет список «ListItems», которые представляют каждую строку списка.ListItem имеет строковые свойства, определяющие изображение и некоторый текст, связанный с ними.Как я уже упоминал, текстовые поля работают правильно, и изображение работает, только если свойство ImageLocation указывает на местоположение в Интернете, но не на местоположение в изолированном хранилище.
Я проверил с помощью инструмента Isolated Storage Explorer и убедился, что образ, который я пытаюсь загрузить, находится в изолированном хранилище, поэтому не нужно искать файл.
Спасибо за ваши идеи или комментарии.