private void btnSave_Click(object sender, RoutedEventArgs e)      {         this.RadGridView1.CommitEdit();               }Object reference not set to an instance of an object. Details:    System.NullReferenceException: Object reference not set to an instance of an object.    at Telerik.Windows.Controls.ScheduleViewBase.StartDrag(DragDropQueryEventArgs e, AppointmentItem clickedItem, DragDropState state)    at Telerik.Windows.Controls.AppointmentItem.OnAppointmentItemsDragQuery(Object sender, DragDropQueryEventArgs e)    at Telerik.Windows.Controls.DragDrop.DragDropQueryEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)    at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)    at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)    at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)    at Telerik.Windows.Controls.DragDrop.RadDragAndDropManager.DragDropProvider_DragQuery(Object sender, DragDropQueryEventArgs e)    at Telerik.Windows.Controls.DragDrop.DragDropProviderBase.RaiseDragQuery()    at Telerik.Windows.Controls.DragDrop.WPFSimulatedDragDropProvider.TryStartDrag(IMouseEventArgs e)    at Telerik.Windows.Controls.DragDrop.SimulatedDragDropProvider.OnTrackedElementMouseMoveInternal(IMouseEventArgs e)    at Telerik.Windows.Controls.DragDrop.SimulatedDragDropProvider.OnCoverRectangleMouseMoveInternal(IMouseEventArgs e)    at Telerik.Windows.Controls.DragDrop.WPFSimulatedDragDropProvider.OnCoverRectangleMouseMove(Object sender, MouseEventArgs e)    at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)    at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)    at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)    at System.Windows.ContentElement.RaiseTrustedEvent(RoutedEventArgs args)    at System.Windows.Input.InputManager.ProcessStagingArea()    at System.Windows.Input.MouseDevice.Synchronize()    at System.Windows.Input.MouseDevice.ChangeMouseCapture(IInputElement mouseCapture, IMouseInputProvider providerCapture, CaptureMode captureMode, Int32 timestamp)    at System.Windows.Input.MouseDevice.Capture(IInputElement element, CaptureMode captureMode)    at System.Windows.Input.Mouse.Capture(IInputElement element)    at System.Windows.Documents.Hyperlink.OnMouseLeftButtonDown(Object sender, MouseButtonEventArgs e)    at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)    at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)    at System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)    at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)    at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)    at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)    at System.Windows.ContentElement.RaiseTrustedEvent(RoutedEventArgs args)    at System.Windows.Input.InputManager.ProcessStagingArea()    at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)    at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)    at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)    at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)    at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)    at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)    at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)    at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)    at System.Windows.Threading.Dispatcher.WrappedInvoke(Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)    at System.Windows.Threading.Dispatcher.InvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)    at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)    at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)    at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)    at System.Windows.Application.RunInternal(Window window)    at System.Windows.Application.Run()    at Metrix.UI.App.Main() in C:\Users\rodneyy\Documents\Visual Studio 2010\Projects\M530\Client\Metrix.UI\obj\Debug\App.g.cs:line 0    at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)    at System.Runtime.Hosting.ApplicationActivator.CreateInstance(ActivationContext activationContext, String[] activationCustomData)    at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssemblyDebugInZone()    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) public partial class MainWindow : Window {     public MainWindow()     {         StackPanel stackPanel = new StackPanel();         stackPanel.Children.Add( CreateItemsSourceGridTelerik_WORKING() );         stackPanel.Children.Add( CreateItemsSourceGridTelerik_NOTWORKING() );         Content = stackPanel;     }       public class Node     {         public string Description { get; set; }         public string Code { get; set; }     }       RadGridView CreateItemsSourceGridTelerik_WORKING()     {         RadGridView grid = new RadGridView { AutoGenerateColumns = false };           grid.Columns.Add( new GridViewComboBoxColumn         {             DataMemberBinding = new Binding( "Column" ),             DisplayMemberPath = "Description",             SelectedValueMemberPath = "Code",             ItemsSource = new Node[] {                 new Node { Description = "One", Code = "1" },                 new Node { Description = "Two", Code = "2" }             },         } );           DataTable table = new DataTable();         table.Columns.Add( "Column" );           DataRow row = table.NewRow();         table.Rows.Add( row );         row[ "Column" ] = "2";           grid.ItemsSource = table.DefaultView;           return grid;     }       RadGridView CreateItemsSourceGridTelerik_NOTWORKING()     {         RadGridView grid = new RadGridView { AutoGenerateColumns = false };           grid.Columns.Add( new GridViewComboBoxColumn         {             DataMemberBinding = new Binding( "Column" ),             DisplayMemberPath = "Description",             SelectedValueMemberPath = "Code",             ItemsSourceBinding = new Binding( "ColumnItems" ),         } );           DataTable table = new DataTable();         table.Columns.Add( "Column" );         table.Columns.Add( "ColumnItems" );           DataRow row = table.NewRow();         table.Rows.Add( row );         row[ "Column" ] = "2";         row[ "ColumnItems" ] = new Node[] {             new Node { Description = "One", Code = "1" },             new Node { Description = "Two", Code = "2" }         };           grid.ItemsSource = table.DefaultView;           return grid;     } }var rowToEdit = this.grdReferrals.ItemContainerGenerator.ContainerFromItem(this.grdReferrals.SelectedItem) as GridViewRow;            if (rowToEdit != null)            {                GridViewCell currentCell = (GridViewCell)rowToEdit.Cells[0];                if (null != currentCell)                    currentCell.IsCurrent = true;                rowToEdit.BeginEdit();            }I was using the radtreeview with quite a lot of nodes and found that performance was slow. I read telerik documentation and it said I can use treelistview as an alternative to treeview. Now when I try to implement loadondemand on this treelist view, during the isexpand property even though the children are added to collection the grid is not refreshed. Since this collection is stored as static variable, when I close the form and open it it displays the parent and children. My isexpanded is implemented in viewmodel where it hits the db and gets the collection. Is there something I am missing in order to implement loadondemand or is this feature not available. I am using WPF Q2 SP1 controls
<
  
<Window.Resources>
<Style x:Key="TreeListViewStyle" TargetType="{x:Type telerik2:TreeListViewRow }">
<Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}" />
</Style>
</Window.Resources>
<telerik:RadTreeListView x:Name="rdTreeList" AutoGenerateColumns="False"
Width="Auto" RowStyle="{StaticResource TreeListViewStyle}"
ItemsSource="{Binding UnitValueObjectList,Mode=TwoWay}"
>
<telerik:RadTreeListView.ChildTableDefinitions>
<telerik:TreeListViewTableDefinition ItemsSource="{Binding Path=ChildNodes,Mode=TwoWay}" >
</telerik:TreeListViewTableDefinition>
<telerik:TreeListViewTableDefinition ItemsSource="{Binding Path=ChildNodes,Mode=TwoWay}"/>
<telerik:TreeListViewTableDefinition ItemsSource="{Binding Path=ChildNodes,Mode=TwoWay}"/>
</telerik:RadTreeListView.ChildTableDefinitions>
<telerik:RadTreeListView.Columns>
<telerik:GridViewDataColumn DataMemberBinding="{Binding Name,Mode=TwoWay}" Header="Name" />
</telerik:RadTreeListView.Columns>
</telerik:RadTreeListView>
>

<Style TargetType="{x:Type telerik:GridViewGroupPanel}">        <Setter Property="BorderThickness" Value="5"/></Style>