3

I'm newbie in Silverlight and I need to activate MouseRightButtonDown(object sender, MouseButtonEventArgs e) from an another event handler in my application.

I have found, that in WPF it is possible to do somthing like this:

public void OnContextMenuOpened(object sender, RoutedEventArgs e) {            
    MouseButtonEventArgs args = new  MouseButtonEventArgs(
        InputManager.Current.PrimaryMouseDevice, 
        0,
        MouseButton.Right);
     MouseRightButtonDown(sender, args);
}

But I have in Silverlight neither InputManager-Class nor MouseButton-Class... It is generally possible to realise something like that?

I want to do it, because I try to select an DataGridRow(within an custom control) with help of right-mouse-button. Without context menu it is easily possible, but when I switch context menu on, then context menu opens and event will not fired...

My code snippet:

public override void OnApplyTemplate() {
    DataGrid = (DataGrid)GetTemplateChild("DataGrid");
    DataGrid.MouseRightButtonDown += DataGridMouseRightButtonDown;

    ContextMenu = (ContextMenu)GetTemplateChild("ContextMenu");
    ContextMenu.Opened += OnContextMenuOpened;
}

private void DataGridMouseRightButtonDown(object sender, MouseButtonEventArgs e) {
    //My code to select an DataGridRow
}

public void OnContextMenuOpened(object sender, RoutedEventArgs e) {  
    //This event-handler now will be always activated if I do 
    //right-mouse-button-click
}

Thanks a lot for help!

000
  • 26,951
  • 10
  • 71
  • 101
Sharbag
  • 245
  • 6
  • 15

1 Answers1

1

The Results of my research has shown, that it is impossible in silverlight -.-

Sharbag
  • 245
  • 6
  • 15