Можно ли создать новый MouseButtonEventArgs в Silverlight?

Я новичок в Silverlight, и мне нужно активировать MouseRightButtonDown(object sender, MouseButtonEventArgs e) из другого обработчика событий в моем приложении.

Я обнаружил, что в WPF можно сделать что-то вроде этого:

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

Но у меня в Silverlight нет ни InputManager-Class, ни MouseButton-Class... Что-то подобное вообще можно реализовать?

Я хочу сделать это, потому что я пытаюсь выбрать DataGridRow (внутри пользовательского элемента управления) с помощью правой кнопки мыши. Без контекстного меню это легко возможно, но когда я включаю контекстное меню, открывается контекстное меню, и событие не срабатывает...

Мой фрагмент кода:

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
}

Большое спасибо за помощь!


person Sharbag    schedule 08.11.2012    source источник


Ответы (1)


Результаты моих исследований показали, что в silverlight это невозможно -.-

person Sharbag    schedule 02.07.2013