У меня есть WPF с приложением MVVM. ViewModel и View связаны. Элементы управления из View привязаны к ViewModel, а ViewModel наследует INotifyChanged. Простое обновление элемента управления в ViewModel работает нормально.
Я хотел бы создать некоторый информационный класс, содержащий некоторые информационные поля. Затем я хочу создать свой собственный поток, который сопоставляет поля из класса Info с полями в ViewModel, которые обновляют представление. Объект класса Info будет использоваться в качестве аргумента функции, вызываемой в ViewModel.
private int someControl;
public SomeControl {
get{return someControl;}
set
{
someControl = value;
OnPropChanged("SomeControl");
}
private InfoClass info = new InfoClass();
Thread thread = null;
public ViewModel()
{
Thread thread = new Thread(new ThreadStart(update));
thread.IsBackground = true;
thread.start();
someLongFunction(info);
}
private void update()
{
SomeControl = info.someField;
thread.sleep(1000);
update();
}
Что я должен добавить или изменить, чтобы периодически получать обновления? Теперь обновление происходит только тогда, когда someLongFunction завершает свою работу.