Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# datagrid wpf中没有显示任何内容_C#_Wpf - Fatal编程技术网

C# datagrid wpf中没有显示任何内容

C# datagrid wpf中没有显示任何内容,c#,wpf,C#,Wpf,我正在使用datagrid视图。数据被添加到表中,从“监视”窗口中,我可以看到表中包含1行,但datagrid中没有显示任何内容 代码如下: DataTable PopulateDataGrids(DataGrid grid, List<RetrievedEmailData> data) { DataTable table = new DataTable(); table.Columns.Add("Sr No");

我正在使用datagrid视图。数据被添加到表中,从“监视”窗口中,我可以看到表中包含1行,但datagrid中没有显示任何内容

代码如下:

 DataTable PopulateDataGrids(DataGrid grid, List<RetrievedEmailData> data)
 {
            DataTable table = new DataTable();
            table.Columns.Add("Sr No");
            table.Columns.Add("Company Name");
            table.Columns.Add("Email");

            int count = 0;

            DataRow row;

            foreach (RetrievedEmailData item in data)
            {
                count++;
                row = table.NewRow();
                row["Sr No"] = count.ToString();
                row["Company Name"] = item.Name;
                row["Email"] = item.Email;
                table.Rows.Add(row);
            }
            return table;
        }
XAML标记:

<DataGrid AutoGenerateColumns="True" Height="322" HorizontalAlignment="Left" Margin="6,6,0,0" Name="dataGridBoatCompanyList" VerticalAlignment="Top" Width="500" />

如果看不到数据网格的XAML定义,很难判断,但也许你是有意的

dataGridBoatCompanyList.ItemsSource = PopulateDataGrids(dataGridBoatCompanyList, boat);

如果看不到DataGrid的XAML定义,很难说出来,但也许你是有意的

dataGridBoatCompanyList.ItemsSource = PopulateDataGrids(dataGridBoatCompanyList, boat);

尝试将
ItemsSource=“{Binding}”
添加到网格中

<DataGrid DataContext="{Binding}" AutoGenerateColumns="True" Height="322" HorizontalAlignment="Left" Margin="6,6,0,0" Name="dataGridBoatCompanyList" VerticalAlignment="Top" Width="500" />
编辑:

如果我试试这个

void MainWindow_Loaded(object sender, RoutedEventArgs e)
{
            dataGridBoatCompanyList.ItemsSource =
                new ObservableCollection<RetrievedEmailData>(new[]
                                                                 {
                                                                     new RetrievedEmailData
                                                                         {Email = "dfsd", Name = "fadsfds"}
                                                                 });
        }
void主窗口\u已加载(对象发送器,路由目标)
{
dataGridBoatCompanyList.ItemsSource=
新的可观测集合(新[]
{
新检索的电子邮件数据
{Email=“dfsd”,Name=“fadsfds”}
});
}


我有一个这样的填充列表


尝试将
ItemsSource=“{Binding}”
添加到网格中

<DataGrid DataContext="{Binding}" AutoGenerateColumns="True" Height="322" HorizontalAlignment="Left" Margin="6,6,0,0" Name="dataGridBoatCompanyList" VerticalAlignment="Top" Width="500" />
编辑:

如果我试试这个

void MainWindow_Loaded(object sender, RoutedEventArgs e)
{
            dataGridBoatCompanyList.ItemsSource =
                new ObservableCollection<RetrievedEmailData>(new[]
                                                                 {
                                                                     new RetrievedEmailData
                                                                         {Email = "dfsd", Name = "fadsfds"}
                                                                 });
        }
void主窗口\u已加载(对象发送器,路由目标)
{
dataGridBoatCompanyList.ItemsSource=
新的可观测集合(新[]
{
新检索的电子邮件数据
{Email=“dfsd”,Name=“fadsfds”}
});
}


我有一个这样的填充列表


添加了“我的XML”,更改您所说的内容时出错,无法将类型“System.Data.DataTable”隐式转换为“System.Collections.IEnumerable”。存在显式转换(是否缺少转换?)在更改您所说的内容时添加了my XML,这会产生错误。无法将类型“System.Data.DataTable”隐式转换为“System.Collections.IEnumerable”。存在显式转换(是否缺少强制转换?)使用您的方法观察到DataContext包含数据,但它仍然没有显示up@Afnan请尝试在XAML和代码隐藏中使用usint ItemsSource而不是DataContext。我现在也填充了它。请您帮我解释一下ObservableCollection的概念。就像到目前为止,我一直使用datatable和所有这些东西来填充网格,但我很喜欢这样,这是如何在一个网格中完成工作的line@Afnan这是一个很好的MSDN。示例代码是用VB编写的,但非常简单。使用您的方法o观察到DataContext包含数据,但它仍然没有显示up@Afnan尝试在XAML和代码隐藏中使用usint ItemsSource而不是DataContext。我现在也填充了它。我能请你帮我解释一下ObservableCollection的概念吗?比如直到现在,我总是使用datatable和所有这些东西来填充网格,但我很喜欢这种在一个网格中完成工作的方式line@Afnan这是一个很好的MSDN。示例代码是用VB编写的,但非常简单。