必須屬性就OK了
IsOptionElementsEnabled="True"
ItemsOptionListType="CheckList"
目前沒測出任何BUG
上代碼
<UserControl x:Class="SilverlightApplication2.treeview" 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:telerik="http://schemas.telerik.com/2008/xaml/presentation" mc:Ignorable="d" d:DesignHeight="300" d:DesignWidth="400"> <Grid x:Name="LayoutRoot" Background="White"> <StackPanel> <telerik:RadTreeView Margin="8" x:Name="radTreeView" PreviewChecked="radTreeView_PreviewChecked" Checked="radTreeView_Checked" PreviewUnchecked="radTreeView_PreviewUnchecked" Unchecked="radTreeView_Unchecked" IsOptionElementsEnabled="True" ItemsOptionListType="CheckList" > <telerik:RadTreeViewItem Header="Sport Categories"> <telerik:RadTreeViewItem Header="Football"> <telerik:RadTreeViewItem Header="Futsal"/> <telerik:RadTreeViewItem Header="Soccer"/> </telerik:RadTreeViewItem> <telerik:RadTreeViewItem Header="Tennis"/> <telerik:RadTreeViewItem Header="Cycling"/> </telerik:RadTreeViewItem> </telerik:RadTreeView> </StackPanel> </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;using Telerik.Windows.Controls;namespace SilverlightApplication2{ public partial class treeview : UserControl { public treeview() { InitializeComponent(); //讓treeview有ck radTreeView.IsTriStateMode = true; } private void EnableCheckBoxes() { //radTreeView.IsOptionElementsEnabled = true; //radTreeView.ItemsOptionListType = OptionListType.CheckList; } private void radTreeView_Checked(object sender, Telerik.Windows.RadRoutedEventArgs e) { (e.Source as RadTreeViewItem).Foreground = new SolidColorBrush(Colors.Green); } private void RadTreeViewItem_Checked(object sender, Telerik.Windows.RadRoutedEventArgs e) { bool isInitiallyChecked = (e as RadTreeViewCheckEventArgs).IsUserInitiated; } private void radTreeView_PreviewChecked(object sender, Telerik.Windows.RadRoutedEventArgs e) { } private void radTreeView_PreviewUnchecked(object sender, Telerik.Windows.RadRoutedEventArgs e) { } private void radTreeView_Unchecked(object sender, Telerik.Windows.RadRoutedEventArgs e) { } }}