Здесь представлена полная реализация ресурса изображений, связанных с MVVM, для управления изображениями. Вам нужно установить свою модель просмотра в качестве контекста вашей страницы, где находится XAML. Также доступ как «App2.fb.png» кажется странным, он должен быть просто fb.png. Это может быть проще исправить .. просто переименовать источник изображения для точного названия изображения, как указано в Droid> ресурсы
XAML
<Image
Aspect="AspectFit"
Source="{Binding PropertyImageStatusSource}">
Base ViewModel
иметь свой viewmodels наследуют от базового класса viewmodel, поэтому INotifyPropertyChanged реализуется на ваших аксессуарах повсеместно.
public class _ViewModel_Base : INotifyPropertyChanged
{
//figure out what is getting set
public virtual bool SetProperty<T>(ref T storage, T value, [CallerMemberName] string propertyName = null)
{
if (Object.Equals(storage, value))
return false;
storage = value;
OnPropertyChanged(propertyName);
return true;
}
public event PropertyChangedEventHandler PropertyChanged;
//attach handler with property name args to changing property, overridable in inheriting classes if something else needs to happen on property changed
protected virtual void OnPropertyChanged(string propertyName)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null)
{
handler(this, new PropertyChangedEventArgs(propertyName));
}
}
}
}
ViewModel
Public MyViewModel : _ViewModel_Base
{
private string ImageStatusSource = "fb.png";
public string PropertyImageStatusSource
{
set { SetProperty(ref ImageStatusSource, value); }
get { return ImageStatusSource; }
}
}
Вы говорите, что ваш образ называется fb.png, но в вашем коде вы назвав его «App2.fb.png». Вам нужно использовать «fb.png» в вашем ImageSource.FromResource –