Treeview数据绑定

<HierarchicalDataTemplate x:Key="treeNode" ItemsSource="{Binding Path=LEAVES}" > <DockPanel Margin="-19,0,0,0"> <StackPanel Orientation="Horizontal" Height="20" Background="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=TreeViewItem}, Path=Background}"> <ToggleButton x:Name="Expander" Style="{StaticResource ExpandCollapseToggleStyle}" mce_Style="{StaticResource ExpandCollapseToggleStyle}" IsChecked="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=TreeViewItem}, Path=IsExpanded}" Visibility="{Binding Path=visibleViewBtn}" Click="Expander_Click" /> <CheckBox x:Name="chb" Margin="0,3,0,0" Visibility="{Binding Path=visibleViewChb}" IsChecked="{Binding Path=IsCheck}" /> <TextBlock x:Name="TreeContent" FontSize="12px" MaxWidth="430" Margin="4,0,0,0" Foreground="Black" TextAlignment="Left" TextTrimming="CharacterEllipsis" VerticalAlignment="Center" ToolTip="{Binding Path=NAME}" ToolTipService.ShowDuration="30000" Text="{Binding Path=NAME}" FontFamily="MS ゴシック, EUDC" /> </StackPanel> </DockPanel> </HierarchicalDataTemplate> 

 

后台使用Datatable创建LEAVES和NAME列,LEAVES中在添加有LEAVES和NAME的DataView的数据,来实现TreeView的树形结构,实现TreeView的数据绑定。

ItemsSource 获取或设置此数据模板的绑定,该绑定指示是否查找表示数据层次结构中下一级别的集合。


还有一种方式实现TreeView的树形结构:

   <XmlDataProvider x:Key="xdp" XPath="FileSystem/Folder">
            <x:XData>
                <FileSystem xmlns="">
                    <Folder Name="Books">
                        <Folder Name="Programming">
                            <Folder Name="Windows">
                                <Folder Name="WPF"></Folder>
                                <Folder Name="WCF"></Folder>
                                <Folder Name="WF"></Folder>
                            </Folder>
                        </Folder>
                        <Folder Name="Tools">
                            <Folder Name="Development"></Folder>
                            <Folder Name="Designment"></Folder>
                            <Folder Name="Players"></Folder>
                        </Folder>
                    </Folder>
                </FileSystem>
            </x:XData>
        </XmlDataProvider>

  <TreeView ItemsSource="{Binding Source={StaticResource xdp}}" >
                <TreeView.ItemTemplate>
                    <HierarchicalDataTemplate ItemsSource="{Binding XPath=Folder}">
                        <TextBlock Text="{Binding XPath=@Name}"></TextBlock>
                    </HierarchicalDataTemplate>
                </TreeView.ItemTemplate>
            </TreeView>

这样就实现了。。

你可能感兴趣的:(Treeview数据绑定)