4 ответов:
Вы можете использовать
ItemsSourceсвойство:<ListView ItemsSource="{Binding YourData}"> <ListView.View> <GridView> <!-- The columns here --> </GridView> </ListView.View> </ListView>Если вы предпочитаете использовать code-behind, а не привязку, просто дайте имя
ListViewи задайте свойствоItemsSourceв коде:listView1.ItemsSource = YourData;Можно также использовать свойство
ItemsSourceс другими элементами управления списком(DataGrid,ListBox,ComboBox, etc), так как он определен в базовом классеItemsControl.
EDIT: если источником данных является
DataTable, вы не можете назначить его непосредственноItemsSource, потому что он не реализуетIEnumerable, но вы можете сделать это через переплет:listView1.SetBinding(ItemsControl.ItemsSourceProperty, new Binding { Source = YourData });
Это простой пример:
XAML часть :
<DataGrid Name="dataGrid1" Width="866" Height="auto" HorizontalAlignment="Left" VerticalAlignment="Top" />Часть C# :
... [код для чтения и заполнения таблицы]...
da.Fill(myDataTable); dataGrid1.ItemsSource = myDataTable.DefaultView;И теперь ваша DataGrid будет заполнена вашим DataTable
GridView- это представление, а не автономный элемент управления, насколько я знаю, вы обычно используете его как представлениеListView. В WPF свойство для заполнения данных называетсяItemsSource, Вероятно, вы хотите использоватьListViewилиDataGridдля отображения данных таким образом.
Ниже вы можете использовать оба способа привязки datatable к datagrid в WPF.
datagrid.ItemSource = mydt.DefaultView(); datagrid.DataContext = mydt.DefaultView();
Comments