private static void OnCellMouseEnter(object sender, MouseEventArgs e)
 {
     if (Mouse.LeftButton == MouseButtonState.Pressed)
     {
         var cell = e.ExtractDataContext <MineCell>();
         if (cell != null)
         {
             if (Mouse.RightButton == MouseButtonState.Pressed)
             {
                 cell.PressState = PressState.DoublePressed;
                 var vm = e.ExtractDataContext <ClearMineViewModel>();
                 foreach (var c in vm.Cells)
                 {
                     if (c.Near(cell) && (c.State == CellState.Normal || c.State == CellState.Question))
                     {
                         c.PressState = PressState.Pressed;
                     }
                 }
             }
             else
             {
                 cell.PressState = PressState.Pressed;
             }
         }
     }
 }
        private static void OnCellMouseLeave(object sender, MouseEventArgs e)
        {
            var vm = e.ExtractDataContext <ClearMineViewModel>();

            if (vm != null)
            {
                foreach (var c in vm.Cells)
                {
                    c.PressState = PressState.Released;
                }
            }
        }