简单绑定到WPF应用程序中的类 [英] Simple bind to a class in a WPF app

查看:113
本文介绍了简单绑定到WPF应用程序中的类的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何进行一个基本的类,并提取它的属性在WPF的列表中?我已经试过使用itemssource属性,但似乎没有为我工作。

How do I take a basic class that I've made and extract it's properties in the list in WPF? I've already tried playing with the itemssource property but nothing seems to have worked for me.

Public Class PageContent
    Public StartDate As DateTime
    Public Header As String
    Public Content As String
End Class

<ListView Name="grid_PageContentList" >
     <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>


推荐答案

您不能直接绑定到字段,属性:

You cannot bind directly to fields, you need to use properties instead:

Public Class PageContent
    Public Property StartDate As DateTime
    Public Property Header As String
    Public Property Content As String
End Class

还需要确保您已设置您 DataContext 。如果你只是一个简单的形式与代码背后的方法,然后把它放在构造函数或 Loaded 处理程序:

Also you need to ensure you have set you DataContext. If you have just a simple form with a code behind approach then put this in the constructor or Loaded handler:

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


$ b b

并在您的XAML中设置 ItemsSource

    <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>

这篇关于简单绑定到WPF应用程序中的类的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆