Пользовательский интерфейс не обновляется после повышения OnPropertyChanged - PullRequest
0 голосов
/ 22 октября 2018

Мне нужно что-то запускать каждые 5 секунд с обновлением пользовательского интерфейса

    public ViewModelCtor()
    {
       var timer = new System.Timers.Timer(5000)
        {
            Enabled = true
        };

        timer.Elapsed += (sender, args) =>
        {
            TimeSinceLastLogin = CalculateTimeSinceLastLogin();
        };


    public string TimeSinceLastLogin
    {
        get { return _timeSinceLastLogin; }
        set
        {
            if (value == _timeSinceLastLogin) return;
            _timeSinceLastLogin = value;
            OnPropertyChanged(new PropertyChangedEventArgs(nameof(TimeSinceLastLogin)));
        }
    }

CalculateTimeSinceLastLogin просто устанавливает для свойства TimeSinceLastLogin значение.Ничего особенного.

Таймер выполняется в рабочем потоке, поэтому пользовательский интерфейс не обновляется, как я могу сказать.Что я должен сделать для обновления интерфейса?Мое решение должно быть независимым, так как оно может быть нацелено на wpf или xamarin.

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