2017-05-26 26 views
2

WPF ToolkitのCheckComboBoxからすべてのチェック項目のリストを取得するなど、簡単なことを行う方法はわかりません。WPF Toolkitの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プロパティのセッターでは、値は常に何も(ヌル)ではないということです。

+0

あなたはこれをチェックしましたか? https://stackoverflow.com/questions/19798451/wpf-toolkit-checklistbox-selecteditemsoverride-not-working – Snicker

答えて

2

BindingからMode=OneWayToSourceを削除します。

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

SelectedRouteSheetRecordOperationsプロパティのセッターは、あなたがCheckComboBoxで項目を選択すると、打撃を受けることになっていないことに注意してください。アイテムがソースコレクションに追加されるはずなので、セッターを削除する可能性があります。おそらく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 
関連する問題