Вы не можете привязывать напрямую к полям, вместо этого вам нужно использовать свойства:
Public Class PageContent
Public Property StartDate As DateTime
Public Property Header As String
Public Property Content As String
End Class
Также вам необходимо убедиться, что вы установили DataContext
. Если у вас есть простая форма с подходом, основанным на коде, поместите это в конструктор или обработчик Loaded
:
Class MainWindow
Public Sub New()
InitializeComponent()
End Sub
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Loaded
MyData = New List(Of PageContent)
Dim pc As New PageContent
pc.Header = "AAAAAAAA"
pc.StartDate = Now
MyData.Add(pc)
pc = New PageContent
pc.Header = "BBBBBB"
pc.StartDate = Now.AddMinutes(1)
MyData.Add(pc)
DataContext = Me
End Sub
Public Property MyData() As List(Of PageContent)
End Class
И установите ItemsSource
в своем XAML:
<ListView Name="grid_PageContentList" ItemsSource="{Binding MyData}" >
<ListView.View>
<GridView>
<GridViewColumn DisplayMemberBinding="{Binding StartDate}" Width="50"></GridViewColumn>
<GridViewColumn DisplayMemberBinding="{Binding Header}" Width="50"></GridViewColumn>
<GridViewColumn DisplayMemberBinding="{Binding Content}" Width="50"></GridViewColumn>
</GridView>
</ListView.View>
</ListView>