silverlight treeview 节点顺序实例

silverlight treeview 节点顺序实例,第1张

概述  现在有个需求,就是把silverlight treeview 同级的节点能够通过Button 进行向上向下调整   如果有此类需求,就参考吧。 <UserControl xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/w

  现在有个需求,就是把silverlight treevIEw 同级的节点能够通过button 进行向上向下调整

  如果有此类需求,就参考吧。


<UserControl    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"    xmlns:d="http://schemas.microsoft.com/Expression/blend/2008"    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"    xmlns:sdk="http://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk" x:Class="tree节点顺序.MainPage"    mc:Ignorable="d"    d:DesignHeight="300" d:DesignWIDth="400">    <GrID x:name="LayoutRoot" Background="White">        <GrID.ColumnDeFinitions>            <ColumnDeFinition WIDth="277*"/>            <ColumnDeFinition WIDth="123*"/>        </GrID.ColumnDeFinitions>        <sdk:TreeVIEw x:name="TreeOflife"/>        <button x:name="up" Content="向上" HorizontalAlignment="left" margin="7.948,46,0" VerticalAlignment="top" WIDth="82" Height="45" RendertransformOrigin="0.5,0.5" Click="up_Click" GrID.Column="1">        </button>        <button x:name="down" Content="向下" HorizontalAlignment="left" margin="7.948,130,0" VerticalAlignment="top" WIDth="84" RendertransformOrigin="0.57,0.348" Height="56" Click="down_Click" GrID.Column="1"/>    </GrID></UserControl>


  

using System;using System.Collections.Generic;using System.linq;using System.Net;using System.windows;using System.windows.Controls;using System.windows.documents;using System.windows.input;using System.windows.Media;using System.windows.Media.Animation;using System.windows.Shapes;namespace tree节点顺序{    public partial class MainPage : UserControl    {        #region 填充树        public class ForumInfo        {            public int ForumID { get; set; }            public int ParendID { get; set; }            public string Forumname { get; set; }        }        List<ForumInfo> forumList = new List<ForumInfo>();        public MainPage()        {            InitializeComponent();            GetForumData();            AddTreeNode(0,null);        }        public voID GetForumData()        {            forumList.Add(new ForumInfo() { ForumID = 1,ParendID = 0,Forumname = "笔记本版块" });            forumList.Add(new ForumInfo() { ForumID = 2,Forumname = "台式机版块" });            forumList.Add(new ForumInfo() { ForumID = 3,ParendID = 1,Forumname = "Dell笔记本" });            forumList.Add(new ForumInfo() { ForumID = 4,Forumname = "IBM笔记本" });            forumList.Add(new ForumInfo() { ForumID = 5,Forumname = "IBM-T系列" });            forumList.Add(new ForumInfo() { ForumID = 6,Forumname = "IBM-R系列" });            forumList.Add(new ForumInfo() { ForumID = 7,ParendID = 2,Forumname = "联想台式机" });            forumList.Add(new ForumInfo() { ForumID = 8,Forumname = "方正台式机" });            forumList.Add(new ForumInfo() { ForumID = 9,Forumname = "HP台式机" });            forumList.Add(new ForumInfo() { ForumID = 10,Forumname = "联想家悦H系列" });            forumList.Add(new ForumInfo() { ForumID = 11,Forumname = "联想IDeaCentre系列" });        }        private voID AddTreeNode(int parentID,TreeVIEwItem treeVIEwItem)        {            List<ForumInfo> result = (from forumInfo in forumList                                      where forumInfo.ParendID == parentID                                      select forumInfo).ToList<ForumInfo>();            if (result.Count > 0)            {                foreach (ForumInfo foruminfo in result)                {                    TreeVIEwItem objTreeNode = new TreeVIEwItem();                    objTreeNode.header = foruminfo.Forumname;                    objTreeNode.DataContext = foruminfo;                    if (treeVIEwItem == null)                    {                        TreeOflife.Items.Add(objTreeNode);                    }                    else                    {                        treeVIEwItem.Items.Add(objTreeNode);                    }                    AddTreeNode(foruminfo.ForumID,objTreeNode);                }            }        }        #endregion        /// <summary>        /// 调整节点顺序        /// </summary>        /// <param name="updown">向上-1 向下+1</param>        /// <param name="TreeOflife">树实例</param>        private voID treeitemupdown(int updown,TreeVIEw TreeOflife)        {            System.windows.Controls.TreeVIEwItem SelectedItem = TreeOflife.SelectedItem as TreeVIEwItem;            System.windows.Controls.TreeVIEwItem item = SelectedItem;            if (SelectedItem != null)            {                System.windows.Controls.TreeVIEwItem itemParent = item.Parent as TreeVIEwItem;                System.windows.Controls.TreeVIEwItem itemNewParent;                int index;                if (itemParent == null)//如果树本身无根节点选中分类                {                    index = TreeOflife.Items.IndexOf(item);                    if (index<0 || index + updown < 0 || index + updown >= TreeOflife.Items.Count)                    {                        return;                    }                    TreeOflife.Items.Remove(item);                    TreeOflife.Items.Insert(index + updown,item);                }                else                {                    index = itemParent.Items.IndexOf(item);                                     if (index < 0 ||  index + updown < 0 || index + updown >= itemParent.Items.Count)                    {                        return;                    }                    itemParent.Items.Remove(item);                    itemParent.Items.Insert(index + updown,item);                }                item.IsSelected = true;            }        }        private voID up_Click(object sender,RoutedEventArgs e)        {            treeitemupdown(-1,TreeOflife);        }        private voID down_Click(object sender,RoutedEventArgs e)        {            treeitemupdown(1,TreeOflife);        }    }}
总结

以上是内存溢出为你收集整理的silverlight treeview 节点顺序实例全部内容,希望文章能够帮你解决silverlight treeview 节点顺序实例所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1009879.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-22
下一篇2022-05-22

发表评论

登录后才能评论

评论列表(0条)

    保存