【发布时间】:2014-05-27 10:07:18
【问题描述】:
我正在寻找异步/等待中的一些最佳实践。 我有 datepicker 和 observable 集合,我想在 datetime 异步更改时将数据加载到 observable 集合中。 我怎样才能很好地修改我的代码来做到这一点?我知道,属性不能是异步的。我知道命令,所以也许我需要在 datepicker datetimechanged 事件上绑定异步命令?
public class LogViewModel : ViewModelBase
{
public LogViewModel()
{
LogCollection = new ObservableCollection<Log>();
DateTime = DateTime.Now.Date;
}
private DateTime _dateTime;
public DateTime DateTime
{
get { return _dateTime; }
set
{
if (_dateTime != value)
{
_dateTime = value;
LogCollection.Clear();
//long running code begins
using (var ctx = new DataContext())
{
ctx.Logs.Where(p => p.dt >= _dateTime && p.dt < _dateTime.AddDays(1))
.ToList().ForEach(z => LogCollection.Add(z));
}
RaisePropertyChanged("DateTime");
}
}
}
public ObservableCollection<Log> LogCollection { get; set; }
}
【问题讨论】:
标签: .net asynchronous async-await viewmodel