none
Como ocultar visualmente elementos de um binding RRS feed

  • Pergunta

  • OK, o título ficou meio estranho, mas eu não soube como resumir.

     

    Estou com o seguinte problema:

     

    Eu tenho um TreeView com 3 nodos, onde cada nodo recebera como ItemsSource uma ObservableCollection por meio de binding. Eu estou usando um componente para Drag 'n Drop (http://code.google.com/p/gong-wpf-dragdrop/) de modo que eu possa arrastar os elementos filhos de cada nodo e a alterar a posição do elemento dentro da ObservableCollection.

     

    Cada elemento é um objeto que eu gostaria que, em algumas situações, não fosse mostrado no TreeView, sem no entanto retirá-lo da ObservableCollection. Como eu faço isso sendo que o elemento está associado por meio de binding?

     

    segunda-feira, 8 de novembro de 2010 13:59

Respostas

  • Você pode criar uma propriedade IsVisible no elemento desta coleção e usar um DataTrigger para esconder o nó quando o IsVisible for falso:

    <HierarchicalDataTemplate x:Key="treeHierarchicalDataTemplate" 
                 ItemsSource="{Binding Path=MeusItens}"> 
      <HierarchicalDataTemplate.Triggers> 
        <DataTrigger Binding="{Binding Path=IsVisible}" Value="False"> 
          <Setter Property="Visibility" Value="Collapsed"></Setter> 
        </DataTrigger> 
      </HierarchicalDataTemplate.Triggers> 
      <TextBlock Text="{Binding Texto}"  />
    </HierarchicalDataTemplate> 
    
    

     

    Bruno


    MVP Client Development - http://msmvps.com/blogs/bsonnino
    terça-feira, 9 de novembro de 2010 07:13