RadContentMenu Exception

8 posts, 0 answers
  1. xu qing
    xu qing avatar
    14 posts
    Member since:
    Mar 2010

    Posted 05 Apr 2010 Link to this post

    Hi,
        I use the RadContentMenu Control to provide contentmenu in my application.I write my code follow the demo:
        http://demos.telerik.com/silverlight/#GridView/RowContextMenu
        
        When I run my code and click right mouse on GridView,the contentmenu is not the menu I defind,it's the default right menu of Silverlight.The content of menu is:"Silverlight(S)".
        
        Then I use the MouseRightButtonDown Event of GridView to display RadContentMenu by Code.Follow is my event hand code:
        
        private void GList_MouseRightButtonDown(object sender, MouseButtonEventArgs e)
            {
              //open radcontentmenu
                this.ConentMenu.IsOpen = true;
                //disable default contentmenu
                e.Handled = true;
            }
        
        Then I run my code and right mouse on GridView,the RadContentMenu displayed.After that,I write the Opened Event of RadContentMenu,Follow is my code:
        
        private void ConentMenu_Opened(object sender, RoutedEventArgs e)
            {
             RadContextMenu menu = (RadContextMenu) sender;
            
             //Get the selectRow
                GridViewRow selectRow = menu.GetClickedElement<GridViewRow>();

                if (selectRow != null)
                {
                  //Set the selectRow as local select row
                    selectRow.IsSelected = true;
                }
            }
        
        I run my code again,An Exception happend in the RadContentMenu Opend Event hand Code.The Expend is:Value is not within the expected range.
        
        Follow is the detail of this Exception:
        
        System.ArgumentException was unhandled by user code
       Message=Value is not within the expected range.
       StackTrace:
           At MS.Internal.XcpImports.MethodEx(IntPtr ptr, String name, CValue[] cvData)
           At MS.Internal.XcpImports.MethodPack(IntPtr objectPtr, String methodName, Object[] rawData)
           At MS.Internal.XcpImports.UIElement_TransformToVisual(UIElement element, UIElement visual)
           At System.Windows.UIElement.TransformToVisual(UIElement visual)
           At Telerik.Windows.Controls.ApplicationHelper.TransformToScreenRoot(UIElement target)
           At Telerik.Windows.Controls.VisualTreeHelperExtensions.GetElementsInHostCoordinates[T](UIElement subtree, Point position)
           At Telerik.Windows.Controls.VisualTreeHelperExtensions.<>c__DisplayClass5`1.<GetElementsInScreenCoordinatesFromOpenedPopups>b__4(Popup p)
           At System.Linq.Enumerable.<SelectManyIterator>d__14`2.MoveNext()
           At System.Linq.Enumerable.<ConcatIterator>d__71`1.MoveNext()
           At System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source)
           At Telerik.Windows.Controls.RadContextMenu.GetClickedElement[T]()
           At SSMP.SysManager.UserManager.ConentMenu_Opened(Object sender, RoutedEventArgs e)
           At Telerik.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RadRoutedEventArgs routedEventArgs)
           At Telerik.Windows.RouteItem.InvokeHandler(RadRoutedEventArgs routedEventArgs)
           At Telerik.Windows.EventRoute.InvokeHandlersImpl(Object source, RadRoutedEventArgs args, Boolean raisedAgain)
           At Telerik.Windows.EventRoute.InvokeHandlers(Object source, RadRoutedEventArgs args)
           At Telerik.Windows.RadRoutedEventHelper.RaiseEvent(DependencyObject element, RadRoutedEventArgs args)
           At Telerik.Windows.DependencyObjectExtensions.RaiseEvent(DependencyObject element, RadRoutedEventArgs e)
           At Telerik.Windows.Controls.RadContextMenu.OnOpened(RadRoutedEventArgs e)
           At Telerik.Windows.Controls.RadContextMenu.OnPopupOpened(Object source, EventArgs e)
           At MS.Internal.CoreInvokeHandler.InvokeEventHandler(Int32 typeIndex, Delegate handlerDelegate, Object sender, Object args)
           At MS.Internal.JoltHelper.FireEvent(IntPtr unmanagedObj, IntPtr unmanagedObjArgs, Int32 argsTypeIndex, String eventName)
       InnerException: 
      
       I checked my code with demo,I can't find why my code get this exception.I use the VS2010 beta2 AND Silverlight4 Beta.Telerik 2010 Q1 Silverlight Control.
      
       Could somebody help me fixed my code.Or write a simple demo for me?
      
       Thanks very much.
  2. xu qing
    xu qing avatar
    14 posts
    Member since:
    Mar 2010

    Posted 08 Apr 2010 Link to this post

    Did somebody get the same exception?No body could help me hand this?
  3. DevCraft banner
  4. Miroslav Nedyalkov
    Admin
    Miroslav Nedyalkov avatar
    1718 posts

    Posted 09 Apr 2010 Link to this post

    Hello,

     Could you please provide us with a sample project that reproduce the problem? This way we will be able to better assist you fixing the problem.

    Kind regards,
    Miroslav Nedyalkov
    the Telerik team

    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items.
  5. xu qing
    xu qing avatar
    14 posts
    Member since:
    Mar 2010

    Posted 10 Apr 2010 Link to this post

    Hi,
        I can't upload my demo code,Is there any way to upload it?
        Thanks.
      
  6. xu qing
    xu qing avatar
    14 posts
    Member since:
    Mar 2010

    Posted 14 Apr 2010 Link to this post

    Hi,
        Can you give me a way to upload my demo code?The Forums Attach files only upload image file,can't upload zip file.
  7. Sodi We
    Sodi We avatar
    160 posts
    Member since:
    Apr 2010

    Posted 03 Jun 2010 Link to this post

    Hello,

    I experience the same "Value is not within the expected range" exception in the ContextMenu_Opened method. Specifically, it happens when I right-click immediately after left-clicking on a gridview row. Did you already find a solution for this problem? 

    Here is my code. The exception occurs at the line "GridViewRow row = menu.GetClickedElement<GridViewRow>();"
    private void ContextMenu_Opened(object sender, RoutedEventArgs e)  
            {  
                RadContextMenu menu = (RadContextMenu)sender;  
                GridViewRow row = menu.GetClickedElement<GridViewRow>();  
     
                if (row != null)  
                {  
                    /*
                     * If the row clicked upon was not selected, all other selected items
                     * will be reset, and the context menu aplies only to this single row.
                     * If the row wás selected before the context menu is opened, 
                     * the context menu will aply to all the selected items.
                     */ 
                    if (!row.IsSelected)  
                    {  
                        functionList.SelectedItems.Clear();  
                    }  
                    row.IsSelected = row.IsCurrent = true;  
                    GridViewCell cell = menu.GetClickedElement<GridViewCell>();  
                    if (cell != null)  
                    {  
                        cell.IsCurrent = true;  
                    }  
                }  
                else 
                {  
                    menu.IsOpen = false;  
                }  
            } 

    Thanks
    Sodi
  8. xu qing
    xu qing avatar
    14 posts
    Member since:
    Mar 2010

    Posted 03 Jun 2010 Link to this post

    Hi,
    I got this exception because I use a radwindow control in the login xaml file "login.xaml",and when I goto main.xaml,the radwindow didn't closed.when I close this window before goto main.xaml,the exception don't happend.
    By the way,If you select the radsilverlight project when you create your project.the mouserightbutton event will be handled automatic.
  9. Hristo
    Admin
    Hristo avatar
    832 posts

    Posted 08 Jun 2010 Link to this post

    Hi xu qing,

    Let us know if you need further assistance.

    Regards,
    Hristo
    the Telerik team

    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Public Issue Tracking system and vote to affect the priority of the items.
Back to Top
DevCraft banner