/// <summary>
 /// Присваивает контекстное меню контролу.
 /// </summary>
 /// <param name="element">Контрол.</param>
 /// <param name="getMenu">Метод, возвращающий текущее контекстное меню для контрола.</param>
 /// <param name="mode">Режим отображения контекстного меню.</param>
 public static void AttachContextMenu(
     this UIElement element,
     GetContextMenuDelegate getMenu,
     ContextMenuSupportMode mode)
 {
     SetContextMenu(element, getMenu);
     if ((mode & ContextMenuSupportMode.OnRightMouseButtonClick) != ContextMenuSupportMode.None)
     {
         //element.MouseEnter += element_MouseEnter;
         //element.MouseLeave += element_MouseLeave;
         MouseRightClick.Instance.RightClick -= Instance_RightClick;
         MouseRightClick.Instance.RightClick += Instance_RightClick;
     }
     if ((mode & ContextMenuSupportMode.OnCtrlLeftMouseButtonClick) != ContextMenuSupportMode.None)
     {
         element.MouseLeftButtonDown += element_MouseLeftButtonDown;
     }
 }
 /// <summary>
 /// Устанавливает контестное меню у контрола.
 /// </summary>
 /// <param name="element">Контрол.</param>
 /// <param name="getMenu">Метод, возвращающий текущее контекстное меню для контрола.</param>
 public static void SetContextMenu(UIElement element, GetContextMenuDelegate getMenu)
 {
     element.SetValue(ContextMenuProperty, getMenu);
 }
 /// <summary>
 /// Присваивает контекстное меню контролу.
 /// </summary>
 /// <param name="element">Контрол.</param>
 /// <param name="getMenu">Метод, возвращающий текущее контекстное меню для контрола.</param>
 public static void AttachContextMenu(
     this UIElement element,
     GetContextMenuDelegate getMenu)
 {
     AttachContextMenu(element, getMenu, ContextMenuSupportMode.All);
 }
 /// <summary>
 /// Присваивает контекстное меню контролу.
 /// </summary>
 /// <param name="element">Контрол.</param>
 /// <param name="getMenu">Метод, возвращающий текущее контекстное меню для контрола.</param>
 /// <param name="mode">Режим отображения контекстного меню.</param>
 public static void AttachContextMenu(
     this UIElement element,
     GetContextMenuDelegate getMenu,
     ContextMenuSupportMode mode)
 {
     SetContextMenu(element, getMenu);
     if ((mode & ContextMenuSupportMode.OnRightMouseButtonClick) != ContextMenuSupportMode.None)
     {
         //element.MouseEnter += element_MouseEnter;
         //element.MouseLeave += element_MouseLeave;
         MouseRightClick.Instance.RightClick -= Instance_RightClick;
         MouseRightClick.Instance.RightClick += Instance_RightClick;
     }
     if ((mode & ContextMenuSupportMode.OnCtrlLeftMouseButtonClick) != ContextMenuSupportMode.None)
     {
         element.MouseLeftButtonDown += element_MouseLeftButtonDown;
     }
 }
 /// <summary>
 /// Устанавливает контестное меню у контрола.
 /// </summary>
 /// <param name="element">Контрол.</param>
 /// <param name="getMenu">Метод, возвращающий текущее контекстное меню для контрола.</param>
 public static void SetContextMenu(UIElement element, GetContextMenuDelegate getMenu)
 {
     element.SetValue(ContextMenuProperty, getMenu);
 }
 /// <summary>
 /// Присваивает контекстное меню контролу.
 /// </summary>
 /// <param name="element">Контрол.</param>
 /// <param name="getMenu">Метод, возвращающий текущее контекстное меню для контрола.</param>
 public static void AttachContextMenu(
     this UIElement element,
     GetContextMenuDelegate getMenu)
 {
     AttachContextMenu(element, getMenu, ContextMenuSupportMode.All);
 }