Так у меня есть этот Dictionary
:Добавить программно ListViewItem в Listview в WPF
Dictionary<string, double> _statistics;
Ans я хочу, чтобы добавить этот Dictionary
в мои ListView
с 2-мя колонками:
DataTable table = new DataTable();
table.Columns.Add("Name");
table.Columns.Add("Percent");
foreach (KeyValuePair<string, double> item in _statistics)
table.Rows.Add(item.Key, item.Value);
listView.ItemsSource = table;
И получил ошибку:
Cannot implicitly convert type 'System.Data.DataTable' to 'System.Collections.IEnumerable'. An explicit conversion exists (are you missing a cast?)
Редактировать
Я также попробовать это:
public class MyItem
{
public string Name{ get; set; }
public double Percentage { get; set; }
}
var gridView = new GridView();
ipStatilistViewsticslistView.View = gridView;
gridView.Columns.Add(new GridViewColumn
{
Header = "Name",
DisplayMemberBinding = new Binding("Name")
});
gridView.Columns.Add(new GridViewColumn
{
Header = "Percent",
DisplayMemberBinding = new Binding("Percent")
});
foreach (KeyValuePair<string, double> item in _statistics)
listView.Items.Add(new MyItem { Name = item.Key, Percentage = item .Value});
И в этом случае все, что я могу увидеть мою 2 колонки плить.
Почему вы хотите использовать 'DataTable'? –
Мне все равно, что использовать, я хочу только заполнить свой ListView своим Словарем. –
Тогда вы можете просто написать 'listView.ItemsSource = _statistics'. ListView.ItemSource будет работать со всем, что реализует интерфейс 'IEnumerable'. –