如何从 WPF 工具包的 CheckComboBox 中获取选中项的列表



我无法了解如何从WPF工具包的CheckComboBox中获取所有检查项的列表这样简单的事情。

视图:

<xctk:CheckComboBox DisplayMemberPath="Name"
                    ItemsSource="{Binding RouteSheetRecordOperations, Mode=OneWay}"
                    SelectedItemsOverride="{Binding SelectedRouteSheetRecordOperations, Mode=OneWayToSource}" />  

查看型号:

Public ReadOnly Property RouteSheetRecordOperations As New ObservableCollection(Of RouteSheetRecordOperation)
Property SelectedRouteSheetRecordOperations As List(Of RouteSheetRecordOperation)
  Get
    Return _selectedRouteSheetRecordOperations
  End Get
  Set
    _selectedRouteSheetRecordOperations = Value
  End Set
End Property  

主要问题是在SelectedRouteSheetRecordOperations属性的 setter 中,值始终为无 (null(。

Binding中删除Mode=OneWayToSource

<xctk:CheckComboBox DisplayMemberPath="Name"
                ItemsSource="{Binding RouteSheetRecordOperations, Mode=OneWay}"
                SelectedItemsOverride="{Binding SelectedRouteSheetRecordOperations}" />

另请注意,当您在CheckComboBox中选择项目时,SelectedRouteSheetRecordOperations属性的二传手不应该被击中。应该将项目添加到源集合中,因此您不妨删除资源库,并且您可能希望返回一个ObservableCollection(Of RouteSheetRecordOperation)

另请注意,该属性必须public

尝试此操作以及上面的 XAML 标记:

Private _selectedRouteSheetRecordOperations As New ObservableCollection(Of RouteSheetRecordOperation)
Public ReadOnly Property SelectedRouteSheetRecordOperations As ObservableCollection(Of RouteSheetRecordOperation)
Get
    Return _selectedRouteSheetRecordOperations
End Get
End Property 

最新更新