【实例简介】WPF TreeView带CheckBox
【实例截图】
【核心代码】
//***************************************************
//
// 文件名(FileName) : MainWindow.xaml.cs
//
// 作者(Author) : String_海枫
//
// 创建时间(CreateAt): 2013-03-19 09:25:20
//
// 描述(Description) : 主窗口交互逻辑代码
//
//***************************************************
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace TestTreeView
{
///
/// MainWindow.xaml 的交互逻辑
///
public partial class MainWindow : Window
{
///
/// 构造
///
public MainWindow()
{
InitializeComponent();
}
///
/// 窗体加载时激发
///
///
///
private void Window_Loaded(object sender, RoutedEventArgs e)
{
TvTestDataBind();
}
///
/// 数据绑定
///
private void TvTestDataBind()
{
IList treeList = new List();
for (int i = 0; i < 5; i )
{
Model.TreeModel tree = new Model.TreeModel();
tree.Id = i.ToString();
tree.Name = "Test" i;
tree.IsExpanded = true;
for (int j = 0; j < 5; j )
{
Model.TreeModel child = new Model.TreeModel();
child.Id = i "-" j;
child.Name = "Test" child.Id;
child.Parent = tree;
tree.Children.Add(child);
}
treeList.Add(tree);
}
ztvTest.ItemsSourceData = treeList;
}
private void btnSelectId_Click(object sender, RoutedEventArgs e)
{
IList treeList = ztvTest.CheckedItemsIgnoreRelation();
MessageBox.Show(GetIds(treeList));
}
private string GetIds(IList treeList)
{
StringBuilder ids = new StringBuilder();
foreach (Model.TreeModel tree in treeList)
{
ids.Append(tree.Id).Append(",");
}
return ids.ToString();
}
}
}