Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.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# 我的数据不显示在数据网格中_C#_Wpf_Data Binding - Fatal编程技术网

C# 我的数据不显示在数据网格中

C# 我的数据不显示在数据网格中,c#,wpf,data-binding,C#,Wpf,Data Binding,我调试了程序,看到ItemSource接收到完整的项,但网格中根本没有显示任何内容。 我还想知道如何将datagrid控件停靠到窗口中,以便在调整父窗口的大小后,它也可以调整自身的大小? 多谢各位 {UPDATE} 我是wpf新学员。我认为仅使用上面的源代码也可以自动将数据源绑定到指定的控件。我并没有考虑创建一个循环来将项目逐个插入网格。我会这样做,但我需要你帮我告诉我我所想的是否正确 MyDataList是包含字符串项的类的列表 dg.ItemsSource=GetList(); 检查栅格上

我调试了程序,看到ItemSource接收到完整的项,但网格中根本没有显示任何内容。 我还想知道如何将datagrid控件停靠到窗口中,以便在调整父窗口的大小后,它也可以调整自身的大小? 多谢各位

{UPDATE}

我是wpf新学员。我认为仅使用上面的源代码也可以自动将数据源绑定到指定的控件。我并没有考虑创建一个循环来将项目逐个插入网格。我会这样做,但我需要你帮我告诉我我所想的是否正确

MyDataList是包含字符串项的类的列表

dg.ItemsSource=GetList();

检查栅格上的AutoGenerateColumns、高度、宽度、水平对齐和垂直对齐属性。如果您只是将其从工具箱拖放到XAML设计图面上,将生成以下代码:

    public class Author
    {
        public string Name { get; set; }
        public DateTime PostedDate { get; set; }
        public string ProjectTitle { get; set; }
        public string Content { get; set; }
        public string Link { get; set; }
    }
将其更改为:

<DataGrid AutoGenerateColumns="False" Height="200" HorizontalAlignment="Left" Margin="254,64,0,0" Name="dataGrid1" VerticalAlignment="Top" Width="200" />
应该解决你的两个问题

编辑:您没有指定列表包含的元素类型,但请注意,自动生成的列将绑定到列表项的公共属性

编辑2: 现在,您已经添加了列表项类型,下面是一个示例:

MainWindow.xaml.cs:

<DataGrid HorizontalAlignment="Stretch" Name="dataGrid1" VerticalAlignment="Stretch"/>
MainWindow.xaml:

public partial class MainWindow: Window
{
  public MainWindow()
  {
    InitializeComponent();

    List<Author> list = new List<Author> 
    {
      new Author { Name = "X Y", Content = "blah" },
      new Author { Name = "W Z", Content = "blah blah" },
      new Author { Name = "N N", Content = "blah blah blah" },
      new Author { Name = "M M", Content = "blah blah blah blah" },
    };
    dataGrid1.AutoGenerateColumns = true;
    dataGrid1.ItemsSource = list;
  }
}

public class Author
{
  public string Name { get; set; }
  public DateTime PostedDate { get; set; }
  public string ProjectTitle { get; set; }
  public string Content { get; set; }
  public string Link { get; set; }
}
输出:


:谢谢Alan,它现在拉伸了。你能在网格中看到你的项目吗?不,我在网格中没有看到任何项目,我将数据改为数据。数据是数据的复数形式,但将数据称为多个数据项是不正确的。多个数据仍然=此上下文中的数据。
<Window x:Class="WpfApplication1.MainWindow"
          xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
          xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
          Title="MainWindow" Height="350" Width="525">
  <Grid>
     <DataGrid HorizontalAlignment="Stretch" Name="dataGrid1" VerticalAlignment="Stretch"/>
  </Grid>
</Window>