大佬教程收集整理的这篇文章主要介绍了silverlight treeview 节点顺序实例,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
现在有个需求,就是把silverlight treeview 同级的节点能够通过Button 进行向上向下调整
如果有此类需求,就参考吧。
<UserControl xmlns="http://scheR_180_11845@as.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://scheR_180_11845@as.microsoft.com/winfx/2006/xaml" xmlns:d="http://scheR_180_11845@as.microsoft.com/expression/blend/2008" xmlns:mc="http://scheR_180_11845@as.openxmlformats.org/markup-compatibility/2006" xmlns:sdk="http://scheR_180_11845@as.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 节点顺序实例所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。