public virtual void Open()
{
if (null == m_Menu) return;
m_Menu.Parent = GetCanvas();
m_Menu.IsHidden = false;
m_Menu.BringToFront();
var p = LocalPosToCanvas(new Vector2i(0,0));
m_Menu.SetBounds(new Rectangle(p.X, p.Y + Height, Width, m_Menu.Height));
}