2016-04-08 24 views
0

Düğüm, Erişim Düğümüne eriştikten sonra ve Ardından tekrar Saydam olarak ayarlandığında, her Düğüm için Yığın Panelinde Artalanını değiştirmek isteyebilirim.Ağaç görünümünde iç içe düğümden wpf erişim yığını panelinde

Sorunum: BackGround'u arkadaki koddan değiştirmek için Yığın Paneline nasıl erişileceğini bilmiyorum. Yardıma İşte

seviniriz benim kod: TreeView denetimi

<TreeView Grid.Column="1" Grid.Row="0" ItemsSource="{Binding ListOfNodes}" 
                Background="Linen" Margin="0,0,0,-0"> 
    <TreeView.ItemContainerStyle> 
     <Style TargetType="{x:Type TreeViewItem}"> 
      <Setter Property="IsExpanded" Value="True"/> 
     </Style> 
    </TreeView.ItemContainerStyle> 
    <TreeView.ItemTemplate> 
     <HierarchicalDataTemplate x:Name="HDT_node" DataType="Node" ItemsSource="{Binding Children}"> 
      <StackPanel Orientation="Horizontal" 
            MouseLeftButtonDown="btnTreeItemStartPlay" 
            Background="Transparent"> 
       <Image Source="{Binding Path=image.Source}" Width="30" Height="30" 
           HorizontalAlignment="Left" 
            MouseEnter="ZoomStart" MouseLeave="ZoomStop" /> 
      </StackPanel> 
     </HierarchicalDataTemplate> 
    </TreeView.ItemTemplate> 
</TreeView> 

Sınıf Düğüm:

public class Node 
{ 
    public Image image { get; set; } 

    public List<Node> Children { get; set; } 

    public Node() 
    { 
    } 

    public Node(Image imageIn, int orderIndexIn) 
    { 
     image = imageIn; 
     Children = new List<Node>(); 
    } 
} 
+0

Benzer şekilde: http://stackoverflow.com/questions/34117944/listbox-items-return-string-when-datatemplate-is-button –

cevap

1

DataTemplate içinde StackPanel erişmek için doğrudan bir yol yoktur. Ancak, çalışma zamanında görsel ağaç üzerinde yinelemek ve yapmak istediğiniz her şeyi yapmak için VisualTreeHelper'u kullanabilirsiniz.

Bunu yapmadan önce, sahip olduğunuz Görsel Ağacı ile ilgili bilgi edinmek için WPF Visual Tree Visualizer numaralı telefonu kullanın. Daha sonra TreeView'dan başla ve istenilen çocuğu almak için çocuklar üzerinde yineleyin. Şablonlarınıza göre görsel ağaç değişir.

+0

Çok teşekkürler. Bu yardımcı oldu. – Yefim

+0

@Yefim, aradığınız şey buysa, kabul etmeyi unutmayın. –