vb.net WPF将列表框绑定到(MyClass的)可观察集合
因此,我可以创建(MyClass的)ObservableCollection并声明它是公共属性。单击按钮后将创建此集合。如何将listbox控件绑定到它?这是我的密码:vb.net WPF将列表框绑定到(MyClass的)可观察集合,wpf,vb.net,listbox,Wpf,Vb.net,Listbox,因此,我可以创建(MyClass的)ObservableCollection并声明它是公共属性。单击按钮后将创建此集合。如何将listbox控件绑定到它?这是我的密码: Public Property StaticFailingPinListItem As New ObservableCollection(Of PinNameAndImageLocation) <ListBox Name="StaticFailingPinListBox" Grid.Row="1" Gri
Public Property StaticFailingPinListItem As New ObservableCollection(Of PinNameAndImageLocation)
<ListBox Name="StaticFailingPinListBox" Grid.Row="1" Grid.Column="0" MinHeight="150" MinWidth="220"
FontSize="12" Margin="3" ItemsSource="{Binding}" />
公共属性StaticFailingPinListItem作为新的ObservableCollection(属于PinNameAndImageLocation)
PinName和ImageLocation有2个属性:PinName和ImageLocation。
我想将PinName属性显示为列表框中的项。。
任何帮助都将不胜感激。1)在YourClass
类中声明StaticFailingPinListItem
集合属性,并在类中实现
2) 将窗口.DataContext
设置为该类的实例:
DataContext = new YourClass
3) 绑定到XAML中的该属性:
<ListBox ItemsSource="{Binding StaticFailingPinListItem}" ... />
这就是你需要做的。你试过
StaticFailingPinListBox.ItemsSource=yourObservableCollection
你试过ItemSource=“{Binding StaticFailingPinListItem}”DisplayMemberPath=“PinName”
^别忘了实现INotifyPropertyChanged
。你能进一步解释一下你的第一点吗?这是否意味着我必须在自己创建的类中声明一个集合属性,而不是在我的主用户控件中声明一个集合属性?虽然可能不需要只为一个属性声明集合属性,但通常创建一个类来表示窗口或UserControl
的所有数据。然后使用INotifyPropertyChanged
接口通知UI在此类中所做的属性更改。
Public Overrides Function ToString() As String
Return PinName
End Function