0

私はWPFプロジェクトに取り組んでおり、TreeView使用していHierarchicalDataTemplatesます. いくつかの異なるレベルのノードを確立できました。これまでのところ、すべてがうまくいっています。

<TreeView Margin="14,14,14,14" Name="treeView" ItemsSource="{Binding Tree}"
                               BorderThickness="0">
                  <TreeView.Resources>
                    <!--
                        First Level
                    -->
                    <HierarchicalDataTemplate DataType="{x:Type vm:FirstLevelViewModel}" 
                                              ItemsSource="{Binding Children}" >
                        <StackPanel Orientation="Horizontal" >
                        <TextBlock Text="{Binding SomeText}" FontSize="14" FontWeight="Bold" Foreground="DarkBlue"  />
                        </StackPanel>                           
                    </HierarchicalDataTemplate>
                    <!--
                        Second Level
                    -->
                    <HierarchicalDataTemplate DataType="{x:Type vm:SecondLevelViewModel}" 
                                              ItemsSource="{Binding Children}" >
                            <CheckBox Name="checkBox" IsChecked="{Binding IsChecked}" IsEnabled="{Binding IsEnabled}">
                            <StackPanel Orientation="Horizontal">
                            <TextBlock Text="{Binding SomeText}" FontSize="14" />
                            </StackPanel>
                        </CheckBox>
                    </HierarchicalDataTemplate>
. . . . 

私の問題は、いくつかのノードを折りたためないようにする必要があることです。

それを達成する方法はありますか?私は運がないのでそれについて探してきました。

4

1 に答える 1

2

デフォルト テンプレートは、サブアイテムを表示および非表示にする をTreeViewItem定義します。プロパティがアイテムのプロパティにバインドされてToggleButtonいるものに基づいて独自のテンプレートを作成できるため、トグルを防ぐことができます。もちろん、バインドする必要があります(テンプレートの外部でも実行できます)。その場合の値は常に です。IsEnabledIsExpandedtrue

于 2012-08-27T21:03:11.657 に答える