or
<telerik:RadGridView Name="DocumentGrid" SelectionMode="Extended" ItemsSource="{Binding Path=Documents}" AutoGenerateColumns="False" IsReadOnly="True" RowStyleSelector="{StaticResource DocumentStyleSelector}">internal class DocumentStyleSelector : StyleSelector{ public Style DocumentModifiedStyle { get; set; } public override Style SelectStyle(object item, DependencyObject container) { var document = item as Document; if (document != null && document.EntityState == EntityState.Modified) { return DocumentModifiedStyle; } return null; }}<layout:DocumentStyleSelector x:Key="DocumentStyleSelector"> <layout:DocumentStyleSelector.DocumentModifiedStyle> <Style TargetType="telerik:GridViewRow"> <Setter Property="Background" Value="DarkGray" /> </Style> </layout:DocumentStyleSelector.DocumentModifiedStyle></layout:DocumentStyleSelector><Window x:Class="VariousDataSources.MainWindow" xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation" Title="MainWindow" > <Window.Resources> </Window.Resources> <telerik:RadGridView x:Name="RadGridView1" GroupRenderMode="Flat" AutoGenerateColumns="True" RowIndicatorVisibility="Collapsed" CanUserFreezeColumns="False" ItemsSource="{Binding DataSource}" SelectionMode="Extended"> </telerik:RadGridView></Window> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); DataContext = new MyModel(); } }public class MyRow { public int SlowColumn { get; set; } public int FastColumn { get; set; } } public class MyModel : ViewModelBase { public MyModel() { DataSource = new ObservableCollection<MyRow>(); for (var i = 0; i < 50000; i++) { var row = new MyRow(); row.SlowColumn = 1; row.FastColumn = i; DataSource.Add(row); } } public ObservableCollection<MyRow> DataSource { get; set; } }this.radGridView.BeginInsert();class Summation : AggregateFunction<BindableDynamicDictionary, int> { public Summation() { this.AggregationExpression = items => FindSum(items); } private int FindSum(IEnumerable<BindableDynamicDictionary> source) { var itemCount = source.Count(); int sum = 0; if (itemCount >= 1) { var values = source.Select(i => i["Score"]); foreach (int str in values) { sum = sum + str; } } return sum; } }<telerik:RadPanelBar DockPanel.Dock="Left" Width="200" regions:RegionManager.RegionName="NavPanelRegion" Background="LightBlue"> <telerik:RadPanelBarItem regions:RegionManager.RegionName="NavPanelHomeRegion" Header="Home"> </telerik:RadPanelBarItem> <telerik:RadPanelBarItem regions:RegionManager.RegionName="NavPanelToolsRegion" Header="Tools"> </telerik:RadPanelBarItem> <telerik:RadPanelBarItem regions:RegionManager.RegionName="NavPanelMaintenanceRegion" Header="Maintenance"> </telerik:RadPanelBarItem> <telerik:RadPanelBarItem regions:RegionManager.RegionName="NavPanelReportingRegion" Header="Reporting"> </telerik:RadPanelBarItem></telerik:RadPanelBar><telerik:RadPanelBarItem x:Class="Modules.Dashboard.Views.DashboardPanelItemView" xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation" xmlns:regions="http://www.codeplex.com/CompositeWPF" xmlns:vm="clr-namespace:Modules.Dashboard.ViewModels" Header="Homepage"> <telerik:RadPanelBarItem.Resources> <vm:DashboardCommandViewModel x:Key="DashboardCommandVm" /> </telerik:RadPanelBarItem.Resources> <telerik:RadPanelBarItem.Command> <Binding Source="{StaticResource DashboardCommandVm}" Path="Home" /> </telerik:RadPanelBarItem.Command></telerik:RadPanelBarItem>public void Initialize() { Container.RegisterType<Object, Views.DashboardView>("DashboardView"); this._regionViewRegistry.RegisterViewWithRegion(RegionNames.Navigation.HomeNavigationPanelRegion, typeof(Views.DashboardPanelItemView)); this._regionViewRegistry.RegisterViewWithRegion("ContentRegion", typeof(DashboardView)); }
class PaneFactory : DockingPanesFactory{ protected override void AddPane(RadDocking radDocking, RadPane pane) { //Docking is UserControl, which contains RadDocking var docking = radDocking.ParentOfType<Docking>(); var settings = pane.Tag as PaneSettings; if (settings.ScreenPosition == ScreenPosition.Left) { //LeftPaneGroup is pane group declared in xaml (docked to left side) docking.LeftPaneGroup.AddItem(pane, DockPosition.Center); } else { //DocumentPaneGroup is document host declared in xaml docking.DocumentPaneGroup.AddItem(pane, DockPosition.Center); } }
}