Sinisa Janjetovic Ответов: 1

Как автоматически обновить collectionlistview


У меня есть BidListView, в котором есть дата и время закрытия ставки. Это очень короткий период между Открытием и закрытием торгов (2 минуты). В то же время в заявке есть несколько продуктов, и как только истечет срок закрытия одной ставки, я хочу, чтобы представление списка ставок было обновлено, так как тогда старые ставки исчезнут с экрана.

Есть ли у кого-нибудь предложения, как это реализовать?

Что я уже пробовал:

Пробовал использовать нить, но я новичок, и это слишком сложно для меня

Gerry Schmitz

https://docs.microsoft.com/en-us/dotnet/framework/wpf/data/how-to-create-and-bind-to-an-observablecollection

Sinisa Janjetovic

Это не так, но спасибо вам за ваши усилия. Мне нужно что-то, что будет обновляться в определенное время

BillWoodruff

Осуществляется ли доступ к вашим данным (заявкам) через интернет или какой-либо другой потоковый сервис ?

Sinisa Janjetovic

Нет, я обращаюсь к нему локально, это настольное приложение

BillWoodruff

Тогда, я думаю, вы уже нашли решение, используя ObservableCollection ... - да ?

1 Ответов

Рейтинг:
1

dnxit

Вы можете использовать таймер с интервалом в 2 минуты и MVVM с INotifyPropertyChanged, и он будет проверять наличие обновлений через каждые две минуты, а измененное свойство автоматически обновит пользовательский интерфейс wpf для вас. Просто простой пример может быть как показано ниже

public class PersonViewModel : INotifyPropertyChanged
{
	private string _name;
	private Timer _timer;

	public string Name
	{
		get { return _name; }
		set
		{
			_name = value;
			RaisePropertyChanged("Name");
		}
	}

	public PersonViewModel()
	{
		_timer = new Timer(UpdateModel, null, 0, 2000);
	}

	private void UpdateModel(object state)
	{
			//   Call Service Or Db or whatever and update Name property
	}

	public event PropertyChangedEventHandler PropertyChanged;
	private void RaisePropertyChanged(string property)
	{
		PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(property));
	}
}


ObservableCollection-это хороший выбор в MVVM, если вы используете какие-либо коллекции