Я в настоящее время испытываю странное поведение:
private async void closeImageEditorWindow(string image)
{
await Navigation.PopAsync();
var context = BindingContext as UserViewModel;
ImageSource source = ImageSource.FromFile(image);
context.UserAvatar = source;
testUser.Source = source;
}
Код получает имя файла для изображения и из этого имени создает ImageSource.Этот ImageSource a) установлен в свойстве в моей ViewModel, а также прямо в Source.Property элемента управления Image («testUser»).Свойство UserAvatar также привязано к другому элементу управления Image.
Таким образом, на консоли я получаю следующее сообщение дважды (по-видимому, для каждого элемента управления Image)
[0:] Не удалосьзагрузить изображение с именем: {0}: /storage/emulated/0/Pictures/Image20181010150448480.png
Тем не менее, оба элемента управления изображением показывают правильное изображение?! (оно существует вуказанная папка)
Почему?Я не совсем уверен, откуда приходит консольное сообщение, так как у меня нет трассировки стека.
Заранее спасибо!
Редактировать: Согласно Xamarin.Forms Github, это, вероятно, Android ResourceManager.GetDrawableметод, который регистрирует это предупреждение.Этот вызывается в методе FileImageSource.LoadImageAsync.Я до сих пор не понимаю, почему я вижу правильное изображение, потому что GetDrawable возвращает ноль после регистрации предупреждения, а LoadImageAsync должен записать другое предупреждение ... Я в замешательстве.