OnPropertyChanged модели не обновляет пользовательский интерфейсC#

Место общения программистов C#
Ответить
Anonymous
 OnPropertyChanged модели не обновляет пользовательский интерфейс

Сообщение Anonymous »


Я вызываю OnPropertyChanged в своей модели с помощью DispatchTimer в ViewModel, но модель не обновляется в пользовательском интерфейсе, если я не ссылаюсь на свойства модели TimeSpan.

TextBlock в представлении обновляется каждую миллисекунду, показывая увеличение TimeSpan, но TestUserControl не обновляется.

Модель просмотра
общедоступный класс TestViewModel: ViewModelBase { общественный DispatcherTimer _timer; общедоступная TestViewModel() { Тест1 = новый ТестОбъект(); Тест1.Имя = "ИмяТеста"; Тест1.ДатаВремя = ДатаВремя.Сейчас; _timer = новый DispatcherTimer(DispatcherPriority.Render); _timer.Interval = TimeSpan.FromMilli Seconds(1); _timer.Tick += (отправитель, аргументы) => { OnPropertyChanged(имя(Test1)); }; _таймер.Старт(); } частный TestObject test1; общедоступный TestObject Test1 { получать { вернуть тест1; } набор { тест1 = значение; OnPropertyChanged(имя(Test1)); } } }
Модель
общедоступный класс TestObject { общедоступная строка Имя {get; набор; } общественный DateTime DateTime {получить; набор; } общедоступный TimeSpan TimeSpan => DateTime.Now - DateTime; }
Просмотреть

//обновление пользовательского интерфейса TestUserControl
//показывает начальное значение //показывает начальное значение и не обновляется
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»