我将有各种各样的,我要绑定到各种组合框的列表,所以我创建了一个名为“myValueList”我想一个列表绑定到组合框
Imports MySql.Data.MySqlClient
Public Class myValueList
Public Property list As New List(Of myValueItem)
Public Class myValueItem
Public Property displayString As String
Public Property valueString As String
End Class
Public Sub fill(ByVal mySqlString As String)
Dim myconn As New myLib.mySQL
myconn.setConnectionString("aUser", "aPassword", "aServer", "aDatabase")
myconn.open()
Dim myReader As MySqlDataReader = myconn.sendquery(mySqlString)
Do While myReader.Read
list.Add(New myValueItem() With {.displayString = myReader(0), .valueString = myReader(1)})
Loop
myconn.closeDispose()
End Sub
End Class
类然后我试图将其绑定到该组合框:
<ComboBox Height="22" Name="ComboBox54" Width="120" HorizontalAlignment="Left" ItemsSource="{Binding Path=my_list}" DisplayMemberPath="displayString" SelectedValuePath="valueString"/>
这里是我的主窗口类:
Class MainWindow
Private Sub Window_Loaded(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles MyBase.Loaded
Dim myI As New initial
Me.DataContext = myI
End Sub
End Class
这是我最初的类:
Public Class initial
Public Property my_list As New myValueList
Public Sub New()
my_list.fill("SELECT * from aTable")
End Sub
End Class
在此应用程序的其他绑定工作,所以我怀疑这是我要如何创建这个列表,然后结合的方式。任何帮助/见解将不胜感激。
是不是'list'是一个集合的实际属性?如果是这样,你的绑定应该不是'ItemsSource =“{Binding Path = my_list.list}”'?你的my_list是类似于拥有列表属性的类,但看起来像是你的父对象而不是嵌套子对象的绑定。 VB不是我熟悉的东西,所以只是一个疯狂的猜测,你可能会尝试 – Viv
@Viv就是这样!谢谢。 – volderArt