我需要将数据库中的表设置为WPF中GridGrid的DataSource。在Windows窗体中,该属性称为DataSource
,但在WPF中不存在这样的属性,所以我该怎么做?
答案 0 :(得分:13)
您可以使用ItemsSource
属性:
<ListView ItemsSource="{Binding YourData}">
<ListView.View>
<GridView>
<!-- The columns here -->
</GridView>
</ListView.View>
</ListView>
如果您更喜欢使用代码隐藏而不是绑定,只需为ListView
命名并在代码中设置ItemsSource
属性:
listView1.ItemsSource = YourData;
您还可以将ItemsSource
属性与其他列表控件(DataGrid
,ListBox
,ComboBox
等)一起使用,因为它在{{1}中定义基类。
编辑:如果数据源是ItemsControl
,则无法将其直接分配给DataTable
,因为它没有实现ItemsSource
,但您可以通过绑定来实现:
IEnumerable
答案 1 :(得分:8)
这是一个简单的例子:
XAML部分:
<DataGrid Name="dataGrid1" Width="866" Height="auto" HorizontalAlignment="Left" VerticalAlignment="Top" />
C#部分:
... [阅读和填写表格的代码] ......
da.Fill(myDataTable);
dataGrid1.ItemsSource = myDataTable.DefaultView;
现在您的DataGrid将填充您的DataTable
答案 2 :(得分:1)
GridView
是一个视图,而不是一个独立的控件,据我所知,你通常会将它用作ListView
的视图。在WPF中,数据填充的属性称为ItemsSource
,您可能希望使用ListView
或DataGrid
以此方式显示数据。
答案 3 :(得分:0)
您可以使用以下两种方式将数据表绑定到WPF中的datagrid。
datagrid.ItemSource = mydt.DefaultView();
datagrid.DataContext = mydt.DefaultView();