Отобразить дату в сетку как относительное время («5 секунд назад») и обновить ее в реальном времени (WPF)? - PullRequest
0 голосов
/ 14 марта 2012

Я использую WPF, XAML и C # для создания сетки, которая слушает источник моделей, у которых есть поле даты, которое я хочу отобразить относительно.В настоящее время он отображается с .ToString(), но мой фактический вопрос заключается в том, как бы я реализовал относительное время (или его активное форматирование), возможное в каждую секунду.Существует ли какой-либо предпочтительный способ принудительного повторного рендеринга пользовательского интерфейса, поскольку данные остаются неизменными все время (необходимо перерисовывать только один столбец раз в секунду и вызывать соответствующий метод форматирования).

1 Ответ

1 голос
/ 14 марта 2012

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

   public class MyViewModel : ViewModelBase
   {
       private void OnTimerTick()
       {
           OnPropertyChanged("Date");
       }

       public string Date
       {
           get{ return DateTime.Now().AddSeconds(-5).ToString();
       }
   }

Где ViewModelBase реализует INotifyPropertyChanged и вы используете DispatcherTimer для повышениясобытие отметки времени.

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