2016-08-05 4 views
0

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

public class CustomControl : UIElement 
{ 
    protected override void OnMouseUp(MouseButtonEventArgs args)  
    { 
     ContextMenu context_menu = new ContextMenu(); 
     // How to show context_menu at specific point? 
    } 
}; 

Я не знаю, как показать контекстное меню созданного в speficic положения. Он не указал метод Show. UIElement не присвоили ContextMenu собственности

Edit: Я не использую XAML (я не хочу создать зависимость между исходным кодом и дизайном)

ответ

1

Использование WPF вы бы создать контекстное меню в XAML обычно. Краткий учебник о том, как это сделать, например, this.

В основном вы пишете свое контекстное меню в соответствующем элементе управления и используете Command s или события мыши, например Click, для назначения определенного поведения.

+0

Спасибо, этот учебник помог мне (я думал, что свойство IsOpen доступно только через метод get) – LmTinyToon

+1

@ АлександрЛысенко Большинство свойств элементов управления, которые могут быть изменены при взаимодействии с пользователем, можно настроить в WPF. Хотя вы можете реализовать все, не касаясь XAML, гораздо проще использовать его. – Adwaenyth

Смежные вопросы