or
public class WfBehavior : ListBoxDragDropBehavior { public override void Drop(DragDropState state) { foreach (object o in state.DraggedItems) { if (Dropped != null) { Dropped(o as Element, state.InsertIndex); } } base.Drop(state); } protected override bool IsMovingItems(DragDropState state) { return state.IsSameControl; } public static event DroppedEventHandler Dropped; } public delegate void DroppedEventHandler(Element element, int index);
using System;using System.Collections.Generic;using System.Collections.ObjectModel;using System.Linq;using System.Text;namespace ProjectMaster.Core.Business{ public class Project { #region Fields private string _name; private double _budget; private DateTime _startDate; private DateTime _finishDate; private int _duration; private ObservableCollection<Phase> _phases; #endregion #region Properties public string Name { get { return _name; } set { _name = value; } } public double Budget { get { return _budget; } set { _budget = value; } } public DateTime StartDate { get { return _startDate; } set { _startDate = value; } } public DateTime FinishDate { get { return _finishDate; } set { _finishDate = value; } } public int Duration { get { _duration = (_finishDate - _startDate).Days; return _duration; } set { _duration = value; } } public ObservableCollection<Phase> Phases { get { return _phases; } set { _phases = value; } } #endregion public Project(string name, int budget, DateTime startDate, DateTime finishDate) { this._name = name; this._budget = budget; this._startDate = startDate; this._finishDate = finishDate; _phases = new ObservableCollection<Phase>(); } }}using System;using System.Collections.Generic;using System.Collections.ObjectModel;using System.Linq;using System.Text;namespace ProjectMaster.Core.Business{ public class Phase { #region Fields private string _name { get; set; } private double _budget { get; set; } private DateTime _startDate { get; set; } private DateTime _finishDate { get; set; } private int _duration { get; set; } private ObservableCollection<Task> _tasks { get; set; } #endregion #region Properties public string Name { get { return _name; } set { _name = value; } } public double Budget { get { return _budget; } set { _budget = value; } } public DateTime StartDate { get { return _startDate; } set { _startDate = value; } } public DateTime FinishDate { get { return _finishDate; } set { _finishDate = value; } } public int Duration { get { _duration = (_finishDate - _startDate).Days; return _duration; } set { _duration = value; } } public ObservableCollection<Task> Tasks { get { return _tasks; } set { _tasks = value; } } public Phase(string name, int budget, DateTime startDate, DateTime finishDate) { this._name = name; this._budget = budget; this._startDate = startDate; this._finishDate = finishDate; _tasks = new ObservableCollection<Task>(); } #endregion }}<telerik:RadTreeListView Grid.Row="2" VerticalAlignment="Top" HorizontalAlignment="Left" Margin="6,0,0,0" AutoGenerateColumns="True" ItemsSource="{Binding Project, Mode=TwoWay}" SelectedItem="{Binding Item}"> <telerik:RadTreeListView.ChildTableDefinitions> <telerik:TreeListViewTableDefinition ItemsSource="{Binding Phases}"/> <telerik:TreeListViewTableDefinition ItemsSource="{Binding Tasks}"/> </telerik:RadTreeListView.ChildTableDefinitions> <telerik:RadTreeListView.Columns> <telerik:GridViewDataColumn DataMemberBinding="{Binding Name}" Header="Name" /> <telerik:GridViewDataColumn Header="Start Date" DataType="{x:Type System:DateTime}"> <telerik:GridViewDataColumn.CellTemplate> <DataTemplate> <telerik:RadDatePicker SelectedValue="{Binding StartDate, Mode=TwoWay}" /> </DataTemplate> </telerik:GridViewDataColumn.CellTemplate> </telerik:GridViewDataColumn> <telerik:GridViewDataColumn Header="Finish Date" DataType="{x:Type System:DateTime}"> <telerik:GridViewDataColumn.CellTemplate> <DataTemplate> <telerik:RadDatePicker SelectedValue="{Binding FinishDate, Mode=TwoWay}" /> </DataTemplate> </telerik:GridViewDataColumn.CellTemplate> </telerik:GridViewDataColumn> <telerik:GridViewDataColumn Header="Duration" DataMemberBinding="{Binding Duration}" DataType="{x:Type System:Int32}" /> <telerik:GridViewDataColumn Header="Budget (Hrs)" DataMemberBinding="{Binding Budget}" DataType="{x:Type System:Double}" /> </telerik:RadTreeListView.Columns> </telerik:RadTreeListView><Grid> <telerik:RadTileView IsItemsAnimationEnabled="False" ColumnsCount="3" ColumnWidth="Auto" DragMode="Slide" IsItemsSizeInPercentages="True" IsAutoScrollingEnabled="True" PreservePositionWhenMaximized="True" RowHeight="Auto" MinimizedRowHeight="300" MinimizedColumnWidth="300" telerik:TileViewPanel.IsColumnsShrinkEnabled="True" telerik:TileViewPanel.IsRowsShrinkEnabled="True" telerik:TileViewPanel.IsSizeBoundToPosition="True"> <telerik:RadTileViewItem Header="{Binding Path=PatchMi.Title}"> <telerik:RadChart x:Name="RadChart" ItemsSource="{Binding Path=PatchMi.Metrics}" BorderThickness="0"> <telerik:RadChart.DefaultView> <telerik:ChartDefaultView ChartLegendPosition="Bottom"> <telerik:ChartDefaultView.ChartLegend> <telerik:ChartLegend x:Name="ChartLegend" UseAutoGeneratedItems="True"> </telerik:ChartLegend> </telerik:ChartDefaultView.ChartLegend> </telerik:ChartDefaultView> </telerik:RadChart.DefaultView> <telerik:RadChart.SeriesMappings> <telerik:SeriesMapping> <telerik:SeriesMapping.SeriesDefinition> <telerik:DoughnutSeriesDefinition LegendDisplayMode="DataPointLabel"></telerik:DoughnutSeriesDefinition> </telerik:SeriesMapping.SeriesDefinition> <telerik:SeriesMapping.ItemMappings> <telerik:ItemMapping DataPointMember="YValue" FieldName="Value"></telerik:ItemMapping> <telerik:ItemMapping DataPointMember="LegendLabel" FieldName="Key"></telerik:ItemMapping> </telerik:SeriesMapping.ItemMappings> </telerik:SeriesMapping> </telerik:RadChart.SeriesMappings> </telerik:RadChart> </telerik:RadTileViewItem> <telerik:RadTileViewItem Header="Calendar"> <telerik:RadCalendar DisplayMode="MonthView" Height="Auto" Width="Auto" /> </telerik:RadTileViewItem> <telerik:RadTileViewItem Header="Item3" > <TextBlock Text="Item3 Content"/> </telerik:RadTileViewItem> </telerik:RadTileView></Grid>