Формы Xamarin связывают представление с моделью представления и моделью представления с обслуживанием - PullRequest
0 голосов
/ 08 марта 2020

У меня есть вопрос. Сейчас у меня есть приложение xamarin для mvvm-форм. Я хочу добиться следующего: связать представление со свойством в модели представления и использовать это свойство для ссылки на свойство в классе обслуживания. Когда свойство сервиса изменяется, все представления, которые связываются со свойством сервиса от различных моделей представления, должны быть обновлены. Как мне этого добиться?

Код ниже взят из одной модели представления, есть еще несколько моделей представления со свойствами, ссылающимися на свойство службы.

    public string Signature
    {
        get => _activityStateService.Details.Signature.Autograph;
        set
        {
            _activityStateService.Details.Signature.Autograph = value;
            OnPropertyChanged(nameof(Signature));
        }
    }

Когда изменяется одно из свойств следующих объектов, я хочу уведомить модель представления (s) свойство, которое ссылается на этот объект, так что представления могут быть обновлены.

public class ActivityStateService : IActivityStateService
{
    public DriverActivity Details { get; set; }
}

Ответы [ 2 ]

0 голосов
/ 08 марта 2020

У вас может быть другой вариант, вместо этого есть служба для этих значений, вы можете использовать локальную базу данных для сохранения информации для страницы, а когда вы go извлекаете обновленные значения на другой странице, это может быть при появлении переопределения.

0 голосов
/ 08 марта 2020

Представление может иметь только один обязательный контекст. если вы хотите иметь несколько, это невозможно. Но у нас есть другой способ решить эту проблему. Прежде всего, вам нужно иметь это свойство (которое необходимо связать на нескольких страницах) в вашей Viewmodelbase. Значение свойства следует сохранить в предпочтении и получить его из предпочтения. Чтобы получить подробную информацию о предпочтениях, пожалуйста, проверьте Xamarin Essentials

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...