Wpf 包装一个IEnumerable<;T>;以可观察的方式收集<;T>;
从我的存储库中,我总是得到一个Wpf 包装一个IEnumerable<;T>;以可观察的方式收集<;T>;,wpf,mvvm,viewmodel,ienumerable,Wpf,Mvvm,Viewmodel,Ienumerable,从我的存储库中,我总是得到一个IEnumerable 在我的ViewModel的Ctor或方法中,我希望将我的实体包装成一个可观察集合,如下所示: private ObservableCollection<CustomerViewModel> customerViewModels; public BillingViewModel(IService service) { ... IEnumerable<Customer> customers = service
IEnumerable
在我的ViewModel的Ctor或方法中,我希望将我的实体包装成一个可观察集合
,如下所示:
private ObservableCollection<CustomerViewModel> customerViewModels;
public BillingViewModel(IService service)
{
...
IEnumerable<Customer> customers = service.GetCustomers();
// that will not work because of a different type
customerViewModels = new ObservableCollection(customers);
}
customerViewModels = new ObservableCollection<CustomerViewModel>(
from c in customers
select new CustomerViewModel(c)
);
private observeCollection客户服务模型;
公共计费视图模型(iSeries服务)
{
...
IEnumerable customers=service.GetCustomers();
//这将不起作用,因为类型不同
CustomerServiceWModels=新的ObservableCollection(客户);
}
您会怎么做?如何将
客户
转换为客户服务模型
?也许你只需要这样的东西:
private ObservableCollection<CustomerViewModel> customerViewModels;
public BillingViewModel(IService service)
{
...
IEnumerable<Customer> customers = service.GetCustomers();
// that will not work because of a different type
customerViewModels = new ObservableCollection(customers);
}
customerViewModels = new ObservableCollection<CustomerViewModel>(
from c in customers
select new CustomerViewModel(c)
);
CustomServiceWModels=新的ObservableCollection(
从c到客户
选择新的CustomerViewModel(c)
);
假设您有某种从Customer到CustomerServiceWModel的转换:
customerViewModels = new ObservableCollection<CustomerViewModel>
(customers.Select(c => ConvertToViewModel(c)));
CustomServiceWModels=新的ObservableCollection
(customers.Select(c=>ConvertToViewModel(c));