zoukankan      html  css  js  c++  java
  • Silverlight 控件学习Treeview

    Silverlight已升级到4了,要抓紧时间学习了。这段时间把自己学习各控件的代码整理下,放到博客上给自己留个记录。也对和我一样的初学者起到共同交流的地方。

    特别说明:代码中是在学习别人的代码基础上写出的,如果您是高手就不要看了,免得担误您的时间。

    Treeview学习

    1、Treeview的基本使用

    这个比较简单,我直接拿了Microsoft Silverlight 3 Toolkit的代码自己重写了下(看懂别人的代码和自己复写代码还是有区别的,呵呵,建议和我一样的初学者也写写,有时可能一个引用没写就会和别人的代码差出十万八千里。)

    首先在SilverLight工程中引用System.Windows.Controls.Toolkit

    页面中声明

            xmlns:system="clr-namespace:System;assembly=mscorlib"
            xmlns:controls="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls"
            xmlns:toolkit="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Toolkit"

    下面的代码中直接拷贝到新建立的页面中使用就可以了

            <StackPanel x:Name="CP">
                <controls:TreeView Margin="5">
                    <controls:TreeViewItem Header="格式数据测试" >
                        <controls:TreeViewItem Header="格式数据1" Foreground="Blue"/>
                        <controls:TreeViewItem Header="格式数据2" Foreground="Red"/>
                        <controls:TreeViewItem Header="格式数据3" Foreground="Pink"/>
                        <controls:TreeViewItem Header="格式数据4" IsEnabled="False"/>
                    </controls:TreeViewItem>
                </controls:TreeView>
    
                <controls:TreeView>
                    <controls:TreeViewItem Header="字符串数据">
                        <system:String>字符串数据1</system:String>
                        <system:String>字符串数据2</system:String>
                        <system:String>字符串数据3</system:String>
                    </controls:TreeViewItem>
                </controls:TreeView>
    
                <controls:TreeView>
                    <controls:TreeViewItem Header="数据源绑定">
                        <controls:TreeViewItem.ItemsSource>
                            <toolkit:ObjectCollection>
                                <system:String>字符串数据1</system:String>
                                <system:String>字符串数据2</system:String>
                                <system:String>字符串数据3</system:String>
                            </toolkit:ObjectCollection>
                        </controls:TreeViewItem.ItemsSource>
                    </controls:TreeViewItem>
                </controls:TreeView>
    
                <controls:TreeView Margin="5">
                    <controls:TreeViewItem Header="树下使用用其它控件" >
                        <controls:TreeViewItem Header="TT">
                            <Button Content="按钮"/>
                            <CheckBox Content="单选"/>
                            <RadioButton Content="多选"/>
                        </controls:TreeViewItem>
                    </controls:TreeViewItem>
                </controls:TreeView>
            </StackPanel>

    2、动态实现一个只有子节点有checkbox的树(有些项目会需要)

    还是在上面实现的页面的基础上,在代码层我做了个基本测试,首先写个方法LoadTree。通过上面的代码我们可以看到一些东西

    如果要实现一个树,外层必须是TreeView ,在其内层可实现TreeViewItem 的嵌套,同时不限于只嵌套TreeViewItem ,可以是其它控件或是字符串等,这为我想实现的只有子节点的树提供了可能(实现说明,可能有高手有更好的实现方法,我只是记录自己的想法)

    下面是实现方法,代码很简单,如果真要做的话还可以实现一个递归来处理这些繁琐的事情

     private void LoadTree()
            {
                //创建根目录
                TreeView tv = new TreeView();
                //创建二级节点
                TreeViewItem tvItem = new TreeViewItem();
                tvItem.Header = "动态测试1";
                //创建三级节点
                TreeViewItem tvItem1 = new TreeViewItem();
                tvItem1.Header = "动态测试2";
    
                //创建叶子节点所需要的CheckBox
                CheckBox ck1 = new CheckBox() { Content = "测试" };
    
                //逐一加入上层控件
                tvItem1.Items.Add(ck1);
                tvItem.Items.Add(tvItem1);
                tv.Items.Add(tvItem);
                //最后将这棵树放入容器
                CP.Children.Add(tv);
            }
    最后在页面初始化时调用就可以了(这里需要注意的是,这是一个DEMO,如果真正在项目时尽量不要在程序初始化时加入太多东西,
    因为必竟这是以网络形式的开发,我还是喜欢C/S的开发方式,虽然现在大家都在搞网页,呵呵)
  • 相关阅读:
    浅谈C#托管程序中的资源释放问题
    c#基本语法学习笔记
    深入剖析C#多态性
    Reporting Services API
    进程和线程的区别
    化妆品网站,饰品网站
    宠物销售网站
    卖地方特色才产品,类似湖南味道那样的网上专卖店
    建立友情链接联盟
    DIY最残忍U盘
  • 原文地址:https://www.cnblogs.com/forrestsun/p/1702103.html
Copyright © 2011-2022 走看看