При входе в систему я получаю и сохраняю некоторые свойства (например, имя пользователя, Дата создания и адрес электронной почты), включая свойство пути к изображению (типа строки) вошедшего в систему пользователя в плагине настроек и использую его в качестве источника элемент изображения на странице Master Detail. Когда я перехожу на какую-то другую страницу и хочу вернуться обратно на главную страницу сведений с помощью Application.Current.MainPage, все остальные свойства сохраняются, но изображение очищается, что, очевидно, означает, что свойство пути к изображению потеряно. У кого-нибудь есть такая проблема и как вам удалось ее решить?
Вот как я храню свойство Image Path в JObject и в настройках:
var imagepath = jObject.Value<string>("ImagePath");
Settings.Path = imagepath;
Вот как я устанавливаю путь к источнику элемента изображения:
profileImg.Source =
string.Format(UrlConstants.url2,Settings.Path.Substring(1));
И вот как я перехожу с какой-то другой страницы к Главной детали:
Application.Current.MainPage = new PeppyMasterDetail();
Это мой конструктор для раздела «Мастер-страница» на странице «Сведения о мастере»:
public MasterPage()
{
InitializeComponent();
usernameLbl.Text = Settings.UserName;
emailLbl.Text = Settings.Email;
dateLbl.Text = "JOINED: " + Settings.Date;
profileImg.Source = string.Format(UrlConstants.url2, Settings.Path.Substring(1));
}
Это конструктор для моей страницы сведений о мастере.
public PeppyMasterDetail ()
{
InitializeComponent ();
mPage.listView.ItemSelected += OnItemSelected;
}
После навигации с использованием Application.Current.MainPage я все еще хочу видеть свое изображение без его очистки.
PS: это поведение не происходит, когда я перемещаюсь с помощью Navigation.PushAsync или
Navigation.PopAsync ();