or
<Window x:Class="TeleTree.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" mc:Ignorable="d" xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation" Title="MainWindow" Height="350" Width="525"> <Grid> <telerik:RadTreeListView x:Name="radTreeListView" AutoGenerateColumns="False" IsReadOnly="True"> <telerik:RadTreeListView.ChildTableDefinitions> <telerik:TreeListViewTableDefinition ItemsSource="{Binding Children}" /> </telerik:RadTreeListView.ChildTableDefinitions> <telerik:RadTreeListView.Columns> <telerik:GridViewToggleRowDetailsColumn/> <telerik:GridViewDataColumn DataMemberBinding="{Binding Name}" Header="Name" Width="100"/> </telerik:RadTreeListView.Columns> <telerik:RadTreeListView.RowDetailsTemplate> <DataTemplate> <Grid x:Name="DetailGrid"> <StackPanel Orientation="Horizontal" Margin="0" Visibility="Collapsed"> <TextBlock Text="Type:"/> <TextBox Text="{Binding Type}"/> </StackPanel> </Grid> <DataTemplate.Triggers> <DataTrigger Binding="{Binding Type}" Value="Leaf"> <Setter TargetName="DetailGrid" Property="Visibility" Value="Visible" /> </DataTrigger> </DataTemplate.Triggers> </DataTemplate> </telerik:RadTreeListView.RowDetailsTemplate> </telerik:RadTreeListView> </Grid> </Window>
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 TeleTree { /// <summary> /// Interaction logic for MainWindow.xaml /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); this.radTreeListView.ItemsSource = DataService.GetData(); } } }
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Collections.ObjectModel; namespace TeleTree { public class Node { public List<Node> Children = new List<Node>(); public string Name; public string Type; } public class DataService { public static ObservableCollection<Node> GetData() { ObservableCollection<Node> list = new ObservableCollection<Node>(); Node node1 = new Node() { Name = "Node1", Type = "Node" }; Node node1_1 = new Node() { Name = "Node1_1", Type = "Leaf" }; Node node2 = new Node() { Name = "Node2", Type = "Node" }; Node node2_2 = new Node() { Name = "Node2_2", Type = "Leaf" }; node1.Children.Add(node1_1); node2.Children.Add(node2_2); list.Add(node1); list.Add(node2); return list; } } }
<
telerik:GridViewDataColumn
ValidatesOnDataErrors
=
"None"
Width
=
"250"
DataMemberBinding
=
"{Binding MinAmt}"
Header
=
"Minimum Amount"
HeaderTextAlignment
=
"Center"
TextAlignment
=
"Right"
>
<
telerik:GridViewDataColumn.CellTemplate
>
<
DataTemplate
>
<
TextBlock
Text
=
"{Binding MinAmt, StringFormat='0,0'}"
TextAlignment
=
"Right"
x:Name
=
"MinAmtTextBlock"
Loaded
=
"MinAmtTextBlock_Loaded"
/>
</
DataTemplate
>
</
telerik:GridViewDataColumn.CellTemplate
>
<
telerik:GridViewDataColumn.CellEditTemplate
>
<
DataTemplate
>
<
telerik:RadNumericUpDown
Maximum
=
"999999"
UpdateValueEvent
=
"PropertyChanged"
ShowButtons
=
"False"
PreviewKeyDown
=
"MinAmt_PreviewKeyDown"
Value
=
"{Binding Amount, Mode=TwoWay, UpdateSourceTrigger=Explicit}"
x:Name
=
"MinAmt"
Loaded
=
"MinAmt_Loaded"
/>
</
DataTemplate
>
</
telerik:GridViewDataColumn.CellEditTemplate
>
</
telerik:GridViewDataColumn
>
<
Window
xmlns:telerik
=
"http://schemas.telerik.com/2008/xaml/presentation"
xmlns:d
=
"http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc
=
"http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable
=
"d"
x:Class
=
"RadGridView_DragAndDropTest.MainWindow"
x:Name
=
"Window"
Title
=
"MainWindow"
Width
=
"640"
Height
=
"480"
>
<
Window.Resources
>
<
Style
TargetType
=
"telerik:GridViewRow"
>
<
Setter
Property
=
"telerik:RadDragAndDropManager.AllowDrag"
Value
=
"True"
/>
</
Style
>
</
Window.Resources
>
<
Grid
x:Name
=
"LayoutRoot"
>
<
Grid.ColumnDefinitions
>
<
ColumnDefinition
Width
=
"0.45*"
/>
<
ColumnDefinition
Width
=
"0.1*"
/>
<
ColumnDefinition
Width
=
"0.45*"
/>
</
Grid.ColumnDefinitions
>
<
telerik:RadGridView
HorizontalAlignment
=
"Right"
Width
=
"280.8"
ShowGroupPanel
=
"False"
SelectionMode
=
"Extended"
AutoGenerateColumns
=
"False"
CanUserFreezeColumns
=
"False"
CanUserReorderColumns
=
"False"
ColumnWidth
=
"*"
DataContext
=
"{Binding Source={StaticResource SampleDataSource}}"
ItemsSource
=
"{Binding Collection}"
>
<
telerik:RadGridView.Columns
>
<
telerik:GridViewDataColumn
DataMemberBinding
=
"{Binding Property1}"
/>
</
telerik:RadGridView.Columns
>
</
telerik:RadGridView
>
<
telerik:RadGridView
Grid.Column
=
"2"
d:LayoutOverrides
=
"Width, Height"
ShowGroupPanel
=
"False"
SelectionMode
=
"Extended"
AutoGenerateColumns
=
"False"
CanUserFreezeColumns
=
"False"
CanUserReorderColumns
=
"False"
ColumnWidth
=
"*"
DataContext
=
"{Binding Source={StaticResource SampleDataSource1}}"
ItemsSource
=
"{Binding Collection}"
>
<
telerik:RadGridView.Columns
>
<
telerik:GridViewDataColumn
DataMemberBinding
=
"{Binding Property1}"
/>
</
telerik:RadGridView.Columns
>
</
telerik:RadGridView
>
</
Grid
>
</
Window
>