2012-02-26 112 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