HierarchicalDataTemplate TreeviewItem - PullRequest
       2

HierarchicalDataTemplate TreeviewItem

0 голосов
/ 17 сентября 2010

У меня есть следующий xaml:

<TreeView x:Name="tvCategoryList" Grid.Column="0" Padding="0" ItemsSource="{Binding CategoriesList}">
  <TreeView.ItemTemplate>
    <HierarchicalDataTemplate ItemsSource="{Binding Items}">
      <TextBlock Text="{Binding ItemName}"/>
    </HierarchicalDataTemplate>
  </TreeView.ItemTemplate>
</TreeView>

В приведенном выше коде я связываю ObservableCollection CategoriesList, где класс CustomTreeItem имеет свойство Visibility.Как я могу изменить приведенный выше код, чтобы привязать свойство Visibility, чтобы оно обновлялось каждый раз (устанавливалось или видимое, или свернутое), когда элемент выбирался / отменялся?

1 Ответ

0 голосов
/ 27 апреля 2011

Вы бы использовали установщик стиля для управления видимостью элемента.

Вы используете привязку, которая выкапывает свойство выбранного TreeViewItem:

<HierarchicalDataTemplate ItemsSource="{Binding Items}">
  <TextBlock Text="{Binding ItemName}">
     <TextBlock.Style>
        <Style>
           <Style.Triggers>
              <DataTrigger Binding="{Binding Path=IsSelected, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type TreeViewItem}}}" 
                  Value="True">
                  <Setter Property="TextBlock.Visibility" Value="false" />
              </DataTrigger>
           </Style.Triggers>
        </Style>
     </TextBlock.Style>
  </TextBlock>
</HierarchicalDataTemplate>

Но это не таксделайте его менее интуитивным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...