WPF の TreeView のリーフ ノードにチェックボックスを追加しようとしています。階層に一定数のレベルがあり、各レベルに HierarchicalDataTemplate を使用している場合、これを行う方法を知っています。しかし、これが必要な場合の対処方法: -ノード
1
-- ノード 1a (チェックボックス付きの葉ノード)
-- ノード 1b
--- ノード 1bI (チェックボックス付きの葉ノード) -ノード
2
-- ノード 2a (チェックボックス付きの葉ノード)
コード ファイルの DataContext を DataTable に設定しました。それ自体との関係を持つ、1 つのテーブルのみ。
DataContext = ds.MyDataTable;
XAML:
<UserControl x:Class="JostyWpfControls.UserControl1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Height="240" Width="312">
<UserControl.Resources>
<HierarchicalDataTemplate x:Key="myTemplate"
ItemsSource="{Binding myDatasetRelation}">
<CheckBox IsChecked="{Binding IsChosen}">
<TextBlock Text="{Binding Description}"/>
</CheckBox>
</HierarchicalDataTemplate>
</UserControl.Resources>
<Grid>
<TreeView x:Name="treeView"
ItemsSource="{Binding}"
ItemTemplate="{StaticResource myTemplate}">
</TreeView>
</Grid>
</UserControl>
これは機能していますが、すべてのノードにチェックボックスが表示されます。リーフノードにチェックボックスを付けたいだけです。