Hi there,
Although this post is very informative, it didn’t quite fulfill my needs.
I needed to start an asynchronous method, lazy loading some data, when a property bound to a WPF control was updated.
This is what I came up with:
public void UpdateInformation(string propertyValue)
{
System.Windows.Threading.Dispatcher.CurrentDispatcher.Invoke(new Action(async () =>
{
_cancellationTokens.ForEach(c => c.Cancel());
using (CancellationTokenSource cancellationToken = new CancellationTokenSource())
{
try
{
_cancellationTokens.Add(cancellationToken);
var dataResponse = await service.LoadData(propertyValue, cancellationToken);
...
}
finally
{
_cancellationTokens.Remove(cancellationToken);
}
}
}));
}
As always, feel free to ask or comment.