2012-02-26 64 views
0
dg.ItemsSource=GetList(); 

我调试程序,看到ItemSource接收到完整的项目,但网格中没有任何内容显示。 我也想知道如何停靠我的datagrid控件到WIndows中,这样它也调整了自己的大小,一旦我调整父窗口? 谢谢我的数据没有显示在数据网格中

{UPDATE}

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

我DataList控件是一个包含字符串项

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; } 
    } 
+1

我改变了“数据是”到“数据是”。数据是基准的复数,但将数据称为多项数据是不正确的。多数据仍然=在这种情况下的数据。 – 2012-02-26 09:53:47

回答

0

检查对电网的AutoGenerateColumns,高度,宽度的Horizo​​ntalAlignment和VerticalAlignment属性的类的列表。从工具箱如果你只是拖动和拖放到你的XAML设计图面,被生成的验证码

<DataGrid AutoGenerateColumns="False" Height="200" HorizontalAlignment="Left" Margin="254,64,0,0" Name="dataGrid1" VerticalAlignment="Top" Width="200" /> 

将其更改为这样:

<DataGrid HorizontalAlignment="Stretch" Name="dataGrid1" VerticalAlignment="Stretch"/> 

应该解决您的两个问题。

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

EDIT2: 现在您添加列表项目类型,这里有一个例子:

MainWindow.xaml.cs:

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; } 
} 

MainWindow.xaml:

<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> 

输出:

Sample output

+0

:)谢谢艾伦,它现在延伸。 – Mackintoast 2012-02-26 09:49:29

+0

你可以在网格中看到你的物品吗? – Alan 2012-02-26 09:51:00

+0

不,我在网格中看不到任何物品, – Mackintoast 2012-02-26 09:52:02