У меня есть простой ObservableCollection
класса Person, который я пытаюсь связать в коде.Все отлично связывается, за исключением DisplayMemberProperty
, который при выборе элемента в раскрывающемся списке просто показывает значение Null в текстовой части раскрывающегося списка.Если я добавлю DD.DisplayMember = "Lastname"
, он будет работать нормально, но поскольку мне нужно добавить элементы управления во время выполнения, и не все будут выпадающими, мне нужно, чтобы это работало как привязка.
Мой XAML:
<Syncfusion:SfMultiColumnDropDownControl x:Name="DD" HorizontalAlignment="Left" VerticalAlignment="Top" Width="300" Margin="20"/>
Мой код:
With OC
.Add(New Person With {.Id = "1", .Lastname = "Smith"})
.Add(New Person With {.Id = "2", .Lastname = "Jones"})
.Add(New Person With {.Id = "3", .Lastname = "Johnson"})
End With
Dim ItemsSourceBinding As New Binding
With ItemsSourceBinding
.Source = OC
.Mode = BindingMode.OneWay
.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged
End With
BindingOperations.SetBinding(DD, SfMultiColumnDropDownControl.ItemsSourceProperty, ItemsSourceBinding)
Dim SelectedItemBinding As New Binding
With SelectedItemBinding
.Source = Report
.Path = New PropertyPath("MyPerson")
.Mode = BindingMode.TwoWay
.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged
End With
BindingOperations.SetBinding(DD, SfMultiColumnDropDownControl.SelectedItemProperty, SelectedItemBinding)
Dim DisplayMemberBinding As New Binding
With DisplayMemberBinding
.Source = OC
.Path = New PropertyPath("Lastname")
.Mode = BindingMode.OneWay
.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged
End With
BindingOperations.SetBinding(DD, SfMultiColumnDropDownControl.DisplayMemberProperty, DisplayMemberBinding)