0
我有一個WinForms應用程序下面的代碼,如預期其工作原理:Winforms代碼爲datatable - 什麼是WPF等價物?
private void btnFetchCollections_Click(object sender, EventArgs e)
{
try
{
var scDal = new SiteCollectionDal();
var dt = new DataTable();
List<SiteCollectionEntity> siteCollections = scDal.FetchSiteCollections();
dt.Columns.Add(new DataColumn("Site Name", typeof(string)));
foreach (SiteCollectionEntity siteCollectionEntity in siteCollections)
{
DataRow row = dt.NewRow();
row["Site Name"] = siteCollectionEntity.Url;
dt.Rows.Add(row);
dt.AcceptChanges();
}
dataSiteCollections.DataSource = dt;
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
現在我建立一個新的WPF界面爲這個項目,下面不工作 - 我應該如何逼近這個?
private void btnFetchSiteCollections_Click(object sender, RoutedEventArgs e)
{
try
{
var scDal = new SiteCollectionDal();
var dt = new DataTable();
List<SiteCollectionEntity> siteCollections = scDal.FetchSiteCollections();
dt.Columns.Add(new DataColumn("Site Name", typeof(string)));
foreach (SiteCollectionEntity siteCollectionEntity in siteCollections)
{
DataRow row = dt.NewRow();
row["Site Name"] = siteCollectionEntity.Url;
dt.Rows.Add(row);
dt.AcceptChanges();
}
dataSiteCollections.ItemsSource = dt;
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
我收到的錯誤是以下行:
dataSiteCollections.ItemsSource = dt;
那就是:
無法將源類型 'System.Data.DataTable' 爲目標類型 'System.Collections.IEnumerable'
嘗試插入一個'.ToList();'這樣的:'dataSiteCollections.ItemsSource = dt.ToList();' – Tico
@Tico這只是給出了錯誤「無法解析符號 'ToList' – Codingo
可能重複的[DataTable作爲DataGrid.ItemsSource](http://stackoverflow.com/questions/14942105/datatable-as-datagrid-itemssource) – Shoe