0

TreeViewがあり、HierarchicalDataTemplatesを使用してTreeViewに複数のレイヤーがあります。各TreeViewItemは現在、それが表すオブジェクトの「名前」を表示します。ここで、ある程度理解したツリーの子にチェックボックスを追加する必要がありますが、チェックボックスがオンになっているときにチェックボックスの名前にアクセスする方法がわかりません。

具体的には、一部のデータにフィルターを適用する必要があるため、チェックボックスの名前が必要です。TreeViewItemのオブジェクトのチェックボックスと名前がデータから動的に作成されているかどうかがチェックされているときに、各チェックボックスの名前にアクセスするにはどうすればよいですか?

4

1 に答える 1

1

ツリー内のすべてのチェックボックス項目がバインドされているビューモデルに対応するコマンドがあると仮定しています。

コマンドにバインドし、CommandParameter として ComboBoxItem の現在の名前に送信します

  <DataTemplate x:Key="ListBoxItemTemplate" DataType="{x:Type ListBoxItem}">
        <CheckBox Command="{Binding RelativeSource={RelativeSource Mode=FindAncestor, AncestorType=ListBox}, 
                  Path=DataContext.CheckBoxItemCheckedCommand}"
                  CommandParameter="{Binding RelativeSource={RelativeSource Self}, Path=Name}"/>                       
   </DataTemplate>
于 2012-10-03T22:24:48.650 に答える