sliverlight treeview 由浅入深 疑点攻破 小结

方案1--页面设计树形节点属性,后台实现相应处理

1。说起treeView,就想xaml 页面处实现一 简单树形 代码附上

 <sdk:TreeView  x:Name="treeItem"  Background="PaleGreen" >
                <sdk:TreeViewItem Header="1" >
                    <sdk:TreeViewItem  Header="3">
                        <sdk:TreeViewItem Header="4">
                                <sdk:TreeViewItem Header="44" />
                            </sdk:TreeViewItem>
                        </sdk:TreeViewItem>
                </sdk:TreeViewItem>
            </sdk:TreeView>

效果图附上:

 要想页面打开,各树形节点均自动展开,需设计属性 IsExpanded="True" 即可,例<sdk:TreeViewItem Header="1" IsExpanded="True" >

2.当页面有树形控件,现实中常有设计需求,即点击该树形节点触发相应事件,这时可以双击该控件生成treeItem_SelectedItemChanged事件,方法名可自定义,对号入座即可,为了突出效果 xaml页面设计代码变为如下:

 <Grid x:Name="LayoutRoot" Background="White">
    <!-- 定义布局 一行两列 -->
        <Grid.RowDefinitions>
            <RowDefinition>    
            </RowDefinition>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="0.5*"></ColumnDefinition>
            <ColumnDefinition Width="*"></ColumnDefinition>
        </Grid.ColumnDefinitions>
        <!-- 树形控件于左侧第一列 -->
        <StackPanel Grid.Column="0">
            <sdk:TreeView  x:Name="treeItem"  Background="PaleGreen" SelectedItemChanged="treeItem_SelectedItemChanged_1">
               
                <sdk:TreeViewItem Header="1" >
                    <sdk:TreeViewItem  Header="3">
                        <sdk:TreeViewItem Header="4">
                            <sdk:TreeViewItem Header="44" />
                            </sdk:TreeViewItem>
                        </sdk:TreeViewItem>
                </sdk:TreeViewItem>
            </sdk:TreeView>
        </StackPanel>
        <!--右侧页面设计 -->
        <StackPanel  Grid.Column="1">
            <TextBlock Foreground="Red" FontSize="20" Text="当前:"></TextBlock>
            <TextBox  x:Name="treeValue"  Text="0" ></TextBox>
        </StackPanel>
       
    </Grid>

效果图如下:

若不想在页面对控件设计相应事件,可在后台初始化设计如下相应选择变更代码:例:

  public Page3()
        {
            InitializeComponent();
            treeItem.SelectedItemChanged +=
                new
                 RoutedPropertyChangedEventHandler<object>(treeItem_SelectedItemChanged_1);
        }

3.接下来在后台进行编码工作,给该相应事件设计对应展示效果处理

代码如下:

   private void treeItem_SelectedItemChanged_1(object sender, RoutedPropertyChangedEventArgs<object> e)
        {
            // 定义控件对象 获取选取的TreeView
            TreeView tree =sender as TreeView;
            //定义控件属性元素 获取 捕获的对象tree的SelectedItem元素
            TreeViewItem item = tree.SelectedItem as TreeViewItem;
            this.treeValue.Text = item.Header.ToString();
        }


最终效果:




方案2--树形节点 及选择触发事件均在后台代码实现

1.


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值