我正在尝试将静态数据列表绑定到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;
}
我做错了什么?
答案 0 :(得分:2)
您没有为列提供绑定。这段代码
<DataGridTextColumn Header="LICENSE TYPE"/>
声明一个只包含标题的列。
你应该设置Binding
属性。确保LICENSE_TYPE
等是视图模型项的属性,而不是字段
<DataGridTextColumn Header="LICENSE TYPE" Binding="{Binding Path=LICENSE_TYPE}"/>