У меня такое ощущение, что это простой вопрос, но мне трудно его понять. Я использую Silverlight, MVVM и Caliburn Micro для разработки своего проекта. В одном разделе у меня есть поиск сотрудника, который должен отображать фотографию сотрудника. Пользователь введет идентификационный номер, и система должна найти пользователя и найти изображение сотрудника на файловом сервере. Изображение именуется идентификатором сотрудника (например, 1234.jpg для сотрудника 1234).
Я не загружаю эти изображения как ресурсы во время разработки, поскольку их сотни, и пользователю, вероятно, понадобится только одно изображение. У меня вопрос, как мне настроить мою модель, чтобы правильно привязать к элементу управления Image? Я знаю, как использовать базовый Caliburn Micro (я все еще довольно новичок в этом, поэтому я не охватил все менее частые области), поэтому я в основном выиграл бы только от фрагментов в каждой области (View, Model View и Model) ), что относится к управлению изображением. Идеальный сценарий - назначить путь к файлу изображения переменной и показать его на моем изображении. Затем, если путь к файлу пуст, удалите изображение.
Вот код, который я пробовал:
Просмотр модели - Это для простоты. Я отодвину кое-что из этого к Модели, но точка зрения остается.
public ImageSource Photo
{
get
{
return new BitmapImage(new Uri(UserPhoto, UriKind.Absolute));
}
}
public string UserPhoto
{
get
{
return this._userPhoto;
}
set
{
this._userPhoto = value;
NotifyOfPropertyChange(() => UserPhoto);
NotifyOfPropertyChange(() => Photo);
}
}
View
<Image x:Name="Photo" />
Свойство UserPhoto является строковым свойством, которое содержит URL-адрес изображения. Я пробовал веб-адреса, а также пути UNC. Проверено, что изображения находятся в этом месте, но они не отображаются, когда я запускаю INCP для свойства Photo.
Обновление
После того, как вы поэкспериментируете с ним больше, кажется, что это решение будет работать, если вы используете путь к файлу (file: //yourserver/yourpath/yourfile.jpg) Я пытался получить доступ к общедоступной стороне файлов через http (http://yourserver.domain/yourpath/yourfile.jpg). Метод http не работает, но метод файла работает. Я все еще хотел бы использовать метод http, но у меня по крайней мере есть обходной путь. Любой мысли о том, почему файл будет работать, а http не будет?