or
<UserControl x:Class="MyApp.ToolboxControl" xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation" mc:Ignorable="d" d:DesignHeight="300" d:DesignWidth="300"> <UserControl.Resources> <DataTemplate x:Key="Level1"> <Grid Margin="0"> <Grid.ColumnDefinitions> <ColumnDefinition /> <ColumnDefinition Width="*"/> </Grid.ColumnDefinitions> <Image Grid.Column="0" Source="{Binding ImageUrl}" Stretch="None"/> <TextBlock Grid.Column="1" Text="{Binding Name}"/> </Grid> </DataTemplate> <HierarchicalDataTemplate x:Key="Level2" ItemsSource="{Binding Items}" ItemTemplate="{StaticResource Level1}"> <Grid Margin="0"> <Grid.ColumnDefinitions> <ColumnDefinition /> <ColumnDefinition Width="*"/> </Grid.ColumnDefinitions> <Image Grid.Column="0" Source="{Binding ImageUrl}" Stretch="None"/> <TextBlock Grid.Column="1" Text="{Binding Name}"/> </Grid> </HierarchicalDataTemplate> <HierarchicalDataTemplate x:Key="Level3" ItemsSource="{Binding Items}" ItemTemplate="{StaticResource Level2}"> <Grid Margin="0"> <Grid.ColumnDefinitions> <ColumnDefinition /> <ColumnDefinition Width="*"/> </Grid.ColumnDefinitions> <Image Grid.Column="0" Source="{Binding ImageUrl}" Stretch="None"/> <TextBlock Grid.Column="1" Text="{Binding Name}"/> </Grid> </HierarchicalDataTemplate> </UserControl.Resources> <Grid> <telerik:RadTreeView ItemsSource="{Binding Items}" ItemTemplate="{StaticResource Level3}" ItemsIndent="10"/> </Grid></UserControl>
internal void UpdateSelectedPointsAndRaiseSelectionChanged() { var oldSelectedPoints = this.chart.SelectedPoints; // SelectedPoints is always null var newSelectedPoints = this.GetSelectedPoints(); ////var oldSelectedSeries = this.chart.SelectedSeries; ////var newSelectedSeries = this.GetSelectedSeries(); var addedPoints = newSelectedPoints.Except(oldSelectedPoints).ToList(); //exception here var removedPoints = oldSelectedPoints.Except(newSelectedPoints).ToList();<telerik:RadPieChart SelectedPoints="{Binding SelectedPoints}"> <telerik:RadPieChart.Resources> <Style x:Key="PieSliceStyle" TargetType="Path"> <Setter Property="Fill" Value="{Binding DataItem.Brush}" /> </Style> </telerik:RadPieChart.Resources> <telerik:RadPieChart.SmartLabelsStrategy> <telerik:PieChartSmartLabelsStrategy DisplayMode="SpiderAlignedOutwards"/> </telerik:RadPieChart.SmartLabelsStrategy> <telerik:RadPieChart.Behaviors> <telerik:ChartSelectionBehavior DataPointSelectionMode="Multiple" x:Name="PieSelectionBehavior"/> </telerik:RadPieChart.Behaviors> <telerik:RadPieChart.Series> <telerik:DoughnutSeries ItemsSource="{Binding PieChartErrors}" ValueBinding="Count" DefaultSliceStyle="{StaticResource PieSliceStyle}"> <telerik:DoughnutSeries.LegendSettings> <telerik:DataPointLegendSettings TitleBinding="Description"/> </telerik:DoughnutSeries.LegendSettings> <telerik:DoughnutSeries.LabelConnectorsSettings> <telerik:ChartSeriesLabelConnectorsSettings/> </telerik:DoughnutSeries.LabelConnectorsSettings> </telerik:DoughnutSeries> </telerik:RadPieChart.Series></telerik:RadPieChart>public class ErrorsAndWarningsViewModel : Page{ private IObservableCollection<PieChartError> _pieChartErrors; private ReadOnlyDataPointCollection _selectedPoints; public ErrorsAndWarningsViewModel { PieChartErrors = new BindableCollection<PieChartError>(); SelectedPoints = new ReadOnlyDataPointCollection(); } public IObservableCollection<PieChartError> PieChartErrors { get { return _pieChartErrors; } set { if (Equals(value, _pieChartErrors)) { return; } _pieChartErrors = value; NotifyOfPropertyChange(); } } public ReadOnlyDataPointCollection SelectedPoints { get { return _selectedPoints; } set { _selectedPoints = value; NotifyOfPropertyChange(); } } public class PieChartError { public string Description { get; set; } public int Count { get; set; } public Brush Brush { get; set; } }}
private void gridview_Copying(object sender, RadRoutedEventArgs e)
{
var obj = Clipboard.GetDataObject(); var data = obj.GetData(DataFormats.Text); Clipboard.SetData(DataFormats.Text, data);
...
}
class CustomRowIndexGenerator : IItemRowIndexGenerator { public void GenerateRowIndexes(List<TimelineRowItem> dataItems) { foreach(TimelineRowItem item in dataItems) { if (item.RowIndex > 0) item.RowIndex = 0; } } }