Допустим, у вас есть наблюдаемая коллекция, которая привязана к вашей сетке.Сетка является представлением.
Когда вызывается вынос для извлечения данных, выноска будет асинхронной для возврата данных.В обработчике событий Async вы хотели бы что-то вроде этого в вашем классе View Model:
/// <summary>
/// This is what is bound to the UI
/// </summary>
private ObservableCollection<UserDTO> _Users;
/// <summary>
/// Collection of Users
/// </summary>
public ObservableCollection<UserDTO> Users
{
get
{
return _Users;
}
set
{
if (_Users != value)
{
_Users = value;
OnPropertyChanged("Users");
}
}
}
/// <summary>
/// Asynchronous Callback For Get Users
/// </summary>
private void UserAgentGetCompleted(object sender, List<UserDto> users)
{
//Make sure we are on the UI thread
this.Dispatcher.BeginInvoke(() => SetUsers(users));
}
Затем в SetUsers вы обновите наблюдаемую коллекцию (_Users), которая является данными, привязанными к представлению (сетке).Поскольку наблюдаемая коллекция обновляется, изменения будут отражены в представлении, поскольку оно связано с представлением через свойство зависимостей.
Обратите внимание, я опустил код SetUsers (), но все, что он делает, этоустановка входящего списка пользователей в наблюдаемую коллекцию.