1

IValueConverter を介して暗黙的に生成された TreeViewItems を折りたたもうとしています。私が持っているコードはグリッドを削除しますが、グリッドは TreeViewItem に存在します。その TreeViewItem を IValueConverter で折りたたむにはどうすればよいですか?

  <TreeView   Name="TreeViewNew"
                                    Background="Transparent" 
                                    HorizontalContentAlignment="Stretch"  
                                    VirtualizingStackPanel.IsVirtualizing="True"
                                    ScrollViewer.VerticalScrollBarVisibility="Disabled"
                                    >
<TreeView.ItemTemplate>
 <HierarchicalDataTemplate ItemsSource="{Binding Path=MapLayers}">
                                    <Grid>
                                        <TextBlock 
                                            Focusable="False" 
                                            Width="150" 
                                            Text="{Binding Path=Name}" 
                                            FontSize="10"
                                            TextWrapping="Wrap" 
                                            Background="Transparent"
                                            HorizontalAlignment="Center"
                                            />
                                    </Grid>

                                    <HierarchicalDataTemplate.ItemTemplate>
                                        <DataTemplate >
                                             <Grid Visibility="{Binding Path=Layer, Converter={StaticResource cIsDrawingLayer}}">
4

2 に答える 2

1

TreeView の ItemContainerStyle で TreeViewItem の可視性を制御するバインディングを設定してみてください。おそらく、TreeViewItems のレベルごとに HierarchicalDataTemplate でその設定を繰り返す必要があります。Binding が機能しない場合でも、ItemContainerStyle で Trigger または DataTrigger を試すことができます。おそらく、トリガー付きのコンバーターさえ必要ないでしょう。

于 2012-12-04T17:59:29.687 に答える
0

これは、タスクを実行するためのコードです。

    <TreeView.Resources>   
    <Style TargetType="TreeViewItem" > 
<Setter      Property="Visibility" Value="{Binding Path=Layer,
    Converter={StaticResource cIsDrawingLayer}}" />  
</Style>
    </TreeView.Resources>
于 2012-12-04T19:56:33.077 に答える