This question is locked. New answers and comments are not allowed.
Hello,
I'm writing some code to have our own MouseDoubleClick event on a GridViewRow.
As you can see in the example below, I want to attach an eventhandler to the MouseDoubleClick -event of the GridViewCell.
When I run the code I'm getting a "System.ArgumentException".
Stacktrace :
at Telerik.Windows.EventManager.CheckParameters(RoutedEvent routedEvent, Delegate handler)
at Telerik.Windows.RadRoutedEventHelper.AddHandler(DependencyObject element, RoutedEvent routedEvent, Delegate handler, Boolean handledEventsToo)
at Telerik.Windows.DependencyObjectExtensions.AddHandler(DependencyObject element, RoutedEvent routedEvent, Delegate handler)
at Telerik.Windows.Controls.GridView.GridViewCell.add_MouseDoubleClick(MouseButtonEventHandler value)
at McKinsey.Horizon.Composite.Controls.CustomControl.DataGrid.DataGrid.<TelerikGrid_RowLoaded>b__2(GridViewCell c)
at System.Collections.Generic.List`1.ForEach(Action`1 action)
at McKinsey.Horizon.Composite.Controls.CustomControl.DataGrid.DataGrid.TelerikGrid_RowLoaded(Object sender, RowLoadedEventArgs e)
at Telerik.Windows.Controls.RadGridView.OnRowLoaded(RowLoadedEventArgs e)
at Telerik.Windows.Controls.GridView.GridViewRowItem.GridViewRowItem_Loaded(Object sender, RoutedEventArgs e)
at System.Windows.CoreInvokeHandler.InvokeEventHandler(Int32 typeIndex, Delegate handlerDelegate, Object sender, Object args)
at MS.Internal.JoltHelper.FireEvent(IntPtr unmanagedObj, IntPtr unmanagedObjArgs, Int32 argsTypeIndex, String eventName)
Code:
void TelerikGrid_RowLoaded(object sender, Telerik.Windows.Controls.GridView.RowLoadedEventArgs e)
{
if (e.Row is GridViewRow)
{
e.Row.ChildrenOfType<GridViewCell>().ToList().ForEach(
c => c.MouseDoubleClick += new MouseButtonEventHandler(cell_MouseDoubleClick));
}
}
void cell_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
if(sender is GridViewCell )
{
...
}
}
Could you please advice me on this, or provide another way to implement the wanted behaviour.
Thanks in advance,
Maarten Thoelen
I'm writing some code to have our own MouseDoubleClick event on a GridViewRow.
As you can see in the example below, I want to attach an eventhandler to the MouseDoubleClick -event of the GridViewCell.
When I run the code I'm getting a "System.ArgumentException".
Stacktrace :
at Telerik.Windows.EventManager.CheckParameters(RoutedEvent routedEvent, Delegate handler)
at Telerik.Windows.RadRoutedEventHelper.AddHandler(DependencyObject element, RoutedEvent routedEvent, Delegate handler, Boolean handledEventsToo)
at Telerik.Windows.DependencyObjectExtensions.AddHandler(DependencyObject element, RoutedEvent routedEvent, Delegate handler)
at Telerik.Windows.Controls.GridView.GridViewCell.add_MouseDoubleClick(MouseButtonEventHandler value)
at McKinsey.Horizon.Composite.Controls.CustomControl.DataGrid.DataGrid.<TelerikGrid_RowLoaded>b__2(GridViewCell c)
at System.Collections.Generic.List`1.ForEach(Action`1 action)
at McKinsey.Horizon.Composite.Controls.CustomControl.DataGrid.DataGrid.TelerikGrid_RowLoaded(Object sender, RowLoadedEventArgs e)
at Telerik.Windows.Controls.RadGridView.OnRowLoaded(RowLoadedEventArgs e)
at Telerik.Windows.Controls.GridView.GridViewRowItem.GridViewRowItem_Loaded(Object sender, RoutedEventArgs e)
at System.Windows.CoreInvokeHandler.InvokeEventHandler(Int32 typeIndex, Delegate handlerDelegate, Object sender, Object args)
at MS.Internal.JoltHelper.FireEvent(IntPtr unmanagedObj, IntPtr unmanagedObjArgs, Int32 argsTypeIndex, String eventName)
Code:
void TelerikGrid_RowLoaded(object sender, Telerik.Windows.Controls.GridView.RowLoadedEventArgs e)
{
if (e.Row is GridViewRow)
{
e.Row.ChildrenOfType<GridViewCell>().ToList().ForEach(
c => c.MouseDoubleClick += new MouseButtonEventHandler(cell_MouseDoubleClick));
}
}
void cell_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
if(sender is GridViewCell )
{
...
}
}
Could you please advice me on this, or provide another way to implement the wanted behaviour.
Thanks in advance,
Maarten Thoelen
