如何使用隐藏代码分配 DataGrid 的 ItemsSource?

How to assign the ItemsSource of a DataGrid with code behind?

我的 XAML:

中有一个 DataGrid
<DataGrid x:Name="dataGridBasket" Width="270" AutoGenerateColumns="True" 
ItemsSource="{Binding Path=LoadDataBindingBasket}" HorizontalAlignment="Left" Margin="10,5,0,10" />

我有一些代码可以 运行 查询 SQL 并将结果分配给网格:

DataSet dataSetBespokeBasket = new DataSet();
MySqlDataAdapter adp = new MySqlDataAdapter(mySqlCommand);
adp.Fill(dataSetBespokeBasket, "LoadDataBindingBasket");
dataGridBasket.DataContext = dataSetBespokeBasket; 

问题:有没有办法省略 ItemsSource="{Binding Path=LoadDataBindingBasket}" 并在 C# 代码中分配它?必须绑定到我在 XAML 中指定的名称有点笨拙,我希望能够在 运行 时间针对各种用例修改它。

您必须 select 来自 DataSet.Table 的适当 DataTable 并将其分配给 DataGrid.ItemsSource:

var dataSet = new DataSet();
...

this.dataGridBasket.ItemsSource = dataset.Tables["MyDtabaseTablename"].DefaultView;