Hello,
We just updated our telerik-controls to the latest version (2011 Q1). Now I am getting an exception when trying to use the gridview grouping.
This is the xaml for my gridview :
<telerik:RadGridView AutoExpandGroups="True" ShowColumnHeaders="False" ItemsSource="{Binding SelectedCategoryDataItems}" CanUserFreezeColumns="False" CanUserReorderColumns="False" CanUserResizeColumns="False" EditTriggers="None" IsReadOnly="True" AutoGenerateColumns="False" ActionOnLostFocus="None" RowIndicatorVisibility="Collapsed" ShowGroupPanel="False" HorizontalAlignment="Stretch" Grid.Column="1" RowStyle="{StaticResource GridItemStyle}"/>
The SelectedCategoryDataItems property is a QueryableCollectionView. The groupdescriptor is added from the viewmodel code-behind :
DataItems.GroupDescriptors.Add(new GroupDescriptor() { Member = "Status2" });When I set AutoExpandGroups = True, the following exception is immediately thrown (application doesn't start) :
bij System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource) bij System.ThrowHelper.ThrowArgumentOutOfRangeException() bij System.Collections.Generic.List`1.get_Item(Int32 index) bij System.Collections.ObjectModel.Collection`1.get_Item(Int32 index) bij Telerik.Windows.Controls.GridView.GridViewGroupRow.OnIsExpandedChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) bij System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e) bij System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e) bij System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args) bij System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, OperationType operationType) bij System.Windows.DependencyObject.SetValueCommon(DependencyProperty dp, Object value, PropertyMetadata metadata, Boolean coerceWithDeferredReference, OperationType operationType, Boolean isInternal) bij System.Windows.DependencyObject.SetValue(DependencyProperty dp, Object value) bij Telerik.Windows.Controls.GridView.GridViewDataControl.RestoreItemValue(DependencyObject container, DependencyProperty property, Object item) bij Telerik.Windows.Controls.GridView.GridViewDataControl.RestoreGroupPropeprties(GridViewGroupRow groupRow) bij Telerik.Windows.Controls.GridView.GridViewDataControl.PrepareContainerForGroupItemOverride(DependencyObject element, Object item) bij Telerik.Windows.Controls.GridView.BaseItemsControl.Telerik.Windows.Controls.GridView.IGeneratorHost.PrepareItemContainer(DependencyObject container, Object item) bij Telerik.Windows.Controls.GridView.GridViewItemContainerGenerator.System.Windows.Controls.Primitives.IItemContainerGenerator.PrepareItemContainer(DependencyObject container) bij Telerik.Windows.Controls.GridView.GridViewVirtualizingPanel.InsertContainer(Int32 childIndex, UIElement container, Boolean isRecycled) bij Telerik.Windows.Controls.GridView.GridViewVirtualizingPanel.InsertNewContainer(Int32 childIndex, UIElement container) bij Telerik.Windows.Controls.GridView.GridViewVirtualizingPanel.AddContainerFromGenerator(Int32 childIndex, UIElement child, Boolean newlyRealized) bij Telerik.Windows.Controls.GridView.GridViewVirtualizingPanel.MeasureOverride(Size constraint) bij System.Windows.FrameworkElement.MeasureCore(Size availableSize) bij System.Windows.UIElement.Measure(Size availableSize) bij System.Windows.ContextLayoutManager.UpdateLayout() bij System.Windows.ContextLayoutManager.UpdateLayoutCallback(Object arg) bij System.Windows.Media.MediaContext.InvokeOnRenderCallback.DoWork() bij System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks() bij System.Windows.Media.MediaContext.RenderMessageHandlerCore(Object resizedCompositionTarget) bij System.Windows.Media.MediaContext.RenderMessageHandler(Object resizedCompositionTarget) bij System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Boolean isSingleParameter) bij System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler) bij System.Windows.Threading.Dispatcher.WrappedInvoke(Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler) bij System.Windows.Threading.DispatcherOperation.InvokeImpl() bij System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state) bij System.Threading.ExecutionContext.runTryCode(Object userData) bij System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData) bij System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) bij System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) bij System.Windows.Threading.DispatcherOperation.Invoke() bij System.Windows.Threading.Dispatcher.ProcessQueue() bij System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled) bij MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled) bij MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o) bij System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Boolean isSingleParameter) bij System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler) bij System.Windows.Threading.Dispatcher.WrappedInvoke(Delegate callback, Object args, Boolean isSingleParameter, Delegate catchHandler) bij System.Windows.Threading.Dispatcher.InvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Boolean isSingleParameter) bij System.Windows.Threading.Dispatcher.Invoke(DispatcherPriority priority, Delegate method, Object arg) bij MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam) bij MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg) bij System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame) bij System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame) bij System.Windows.Threading.Dispatcher.Run() bij System.Windows.Application.RunDispatcher(Object ignore) bij System.Windows.Application.RunInternal(Window window) bij System.Windows.Application.Run(Window window) bij System.Windows.Application.Run() bij Artemis.App.Main() in R:\WPF\Sln_Huisartsen\Sln_Huisartsen\obj\x86\Debug\App.g.cs:regel 0 bij System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args) bij System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args) bij Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly() bij System.Threading.ThreadHelper.ThreadStart_Context(Object state) bij System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) bij System.Threading.ThreadHelper.ThreadStart()Setting AutoExpandGroups to False gives the following exception in the output-window when I'm trying to expand a group from the UI :
System.Windows.Data Error: 8 : Cannot save value from target back to source. BindingExpression:Path=IsExpanded; DataItem='GridViewGroupRow' (Name=''); target element is 'ToggleButton' (Name='HeaderButton'); target property is 'IsChecked' (type 'Nullable`1') ArgumentOutOfRangeException:'System.ArgumentOutOfRangeException: De index valt buiten het bereik. Deze mag niet negatief zijn en moet kleiner zijn dan de grootte van de verzameling. Parameternaam: index bij System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource) bij System.ThrowHelper.ThrowArgumentOutOfRangeException() bij System.Collections.Generic.List`1.get_Item(Int32 index) bij System.Collections.ObjectModel.Collection`1.get_Item(Int32 index) bij Telerik.Windows.Controls.GridView.GridViewGroupRow.OnIsExpandedChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) bij System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e) bij System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e) bij System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args) bij System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, OperationType operationType) bij System.Windows.DependencyObject.SetValueCommon(DependencyProperty dp, Object value, PropertyMetadata metadata, Boolean coerceWithDeferredReference, OperationType operationType, Boolean isInternal) bij System.Windows.DependencyObject.SetValue(DependencyProperty dp, Object value) bij MS.Internal.Data.PropertyPathWorker.SetValue(Object item, Object value) bij MS.Internal.Data.ClrBindingWorker.UpdateValue(Object value) bij System.Windows.Data.BindingExpression.UpdateSource(Object value)'Any ideas / advice on this?
Thanks in advance!
