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的开发方式,虽然现在大家都在搞网页,呵呵)
  • 相关阅读:
    JS中location.search和setTimeout()和 setInterval()
    javascript的AJAX和Serialize(),解码
    php的变量和基本语法
    isnan
    Urllib 库的基础和实用(2)
    urllib 库的基础和实用(1)
    python获取网页精准爬取数据
    eclipse配置
    搭建JAVA WEB开发环境(tomcat)
    JDK环境变量配置
  • 原文地址:https://www.cnblogs.com/forrestsun/p/1702103.html
Copyright © 2011-2022 走看看