DataGrid不会显示列表中的数据

时间:2016-07-13 09:23:08

标签: wpf datagrid

我正在尝试将静态数据列表绑定到WPF中的DataGrid。但它并没有绑定数据。这是我到目前为止所尝试的内容

但数据不会显示在DataGrid中。

xaml代码

<DataGrid Height="148" HorizontalAlignment="Left" Margin="12,22,0,0" 
           Name="dataGrid1" VerticalAlignment="Top" Width="693" >
    <DataGrid.Columns>
        <DataGridTextColumn Header="LICENSE TYPE"/>
        <DataGridTextColumn Header="CV VERSION" />
        <DataGridTextColumn Header="IP TOTAL" />
        <DataGridTextColumn Header="IP ALLOCATED" />
        <DataGridTextColumn Header="ANALOG TOTAL" />
        <DataGridTextColumn Header="ANALOG ALLOCATED" />
        <DataGridTextColumn Header="UPDATE AVAILBLE" />
    </DataGrid.Columns>
</DataGrid>

xaml.cs代码

public LicenseServer()
{
    InitializeComponent();
    dataGrid1.ItemsSource = LoadCollectionData();
    dataGrid1.AutoGenerateColumns = false;
}

private List<clsLicense> LoadCollectionData()
{
    List<clsLicense> license = new List<clsLicense>();
    license.Add(new clsLicense()
    {
        LICENSE_TYPE ="CV Pro",     
        CV_VERSION= "4.6",
        IP_PORTAL ="100",       
        IP_ALLOCATED="50",     
        ANALOG_TOTAL="200",     
        ANALOG_ALLOTED="50",   
        UPDATE_AVAILABLE ="N/A"            
    });

    license.Add(new clsLicense()
    {
        LICENSE_TYPE = "CV Pro",
        CV_VERSION = "4.6",
        IP_PORTAL = "100",
        IP_ALLOCATED = "50",
        ANALOG_TOTAL = "200",
        ANALOG_ALLOTED = "50",
        UPDATE_AVAILABLE = "N/A"
    });

    return license;
}

我做错了什么?

1 个答案:

答案 0 :(得分:2)

您没有为列提供绑定。这段代码

<DataGridTextColumn Header="LICENSE TYPE"/>

声明一个只包含标题的列。

你应该设置Binding属性。确保LICENSE_TYPE等是视图模型项的属性,而不是字段

<DataGridTextColumn Header="LICENSE TYPE" Binding="{Binding Path=LICENSE_TYPE}"/>