In meinem Programm habe ich eine Seite mit Viewmodel. Ansichtsmodell ausführt Funktion Update alle 10 sec in einem anderen Thread mit einem Timer:UWP MVVM gleichzeitige ObservableCollection
// in viewmodel ctor
var timer = new Timer(Update, 0, 10000);
public ObservableCollection<Tick> Data { get; set; }
public void Update(object state)
{
var query = xbtceService.GetAllTicksAsync(); // get data from service
query.Wait();
var data = query.Result;
if (data.Any())
{
dataAccess.SaveItems(data); //save data in database
}
Data.Clear(); // ERROR, another thread
var list = dataAccess.LoadList();
foreach (var item in list)
{
Data.Add(item);
}
}
ObservableCollection
Auch die zu einem ListView
Binded haben Ansichtsmodell. Wie füllt man alle 10 Sekunden ObservableCollection
aus einem anderen Thread mit neuen Daten?
irgendeine Weise Sammlung mit mvvm Mustern zu aktualisieren? –
Sie können ViewModel hinzufügen – lindexi