using System; using System.Collections.Generic; using System.Text; using CPF.Controls; using CPF.Drawing; using CPF; namespace ConsoleApp1 { public class TreeViewItemContentTemplate : TreeViewContentTemplate { protected override void InitializeComponent() {//模板定义 Children.Add(new StackPanel { Orientation = Orientation.Horizontal, Children = { new CheckBox { Content = "test", Bindings = { { nameof(Content), nameof(Content), this }, { nameof(CheckBox.IsChecked), nameof(NodeData.IsChecked) } }, Commands = { { nameof(CheckBox.IsChecked), (s, e) => SetCheckBox((s as CheckBox).IsChecked.Value) } , { nameof(CheckBox.MouseDown), (s, e) => TreeViewItem.SingleSelect() } } }, new Button { Content = "自定义模板,可以任意设计", } } }); } void SetCheckBox(bool isChecked) { foreach (NodeData item in TreeViewItem.Items) { item.IsChecked = isChecked; } } } }