如何在VB代码中初始化WPF datagrid ItemsSource?

时间:2017-03-21 19:15:59

标签: c# wpf vb.net xaml datagrid

我正在尝试使用自动生成的列使用WPF DataGrid元素时学习其他选项。

XAML是:

<Window x:Class="DataGrid.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="DataGrid with Autogenerated Columns" Height="350" Width="525">
<DataGrid Name="dataGrid"/>

我有这个例子来初始化C#中的DataGrid ItemsSource:

        public MainWindow()
    {
        InitializeComponent();

        dataGrid.ItemsSource = new Record[]
        {
            new Record { FirstName="first1", LastName="last1"},
            new Record { FirstName="first2", LastName="last2" }
        };
    }

    Class Record is defined in another file

我想在VB中看到这一点,但我很难理解上面的C#代码到底在做什么。是否有某种类型的铸造?我尝试初始化DataGrid ItemsSource并不起作用,因为我无法弄清楚如何将DataGrid ItemsSource初始化为IEnumberable。如何使用VB初始化DataGrid ItemsSource?

1 个答案:

答案 0 :(得分:1)

DataGrid.ItemsSource使用/接受集合来显示数据 似乎您尝试使用Collection Initializers

正如您已经注意到的那样(来自注释),您可以使用数组初始值设定项

datagrid.ItemsSource = 
{
    New Record With { .FirstName="first1", .LastName="last1" },
    New Record With { .FirstName="first2", .LastName="last2" }
}

或者您可以使用From关键字

创建列表
datagrid.ItemsSource = New List(Of Record) From
{
    New Record With { .FirstName="first1", .LastName="last1" },
    New Record With { .FirstName="first2", .LastName="last2" }
}