void OnKeyboardShow(object sender, UIKeyboardEventArgs args)
        {
            ReportPage page = Element as ReportPage;

            if (page == null)
            {
                return;
            }

            NSValue result = (NSValue)args.Notification.UserInfo.ObjectForKey(new NSString(UIKeyboard.FrameEndUserInfoKey));

            Console.WriteLine("Show Keyboard ReportPage " + result);
            CGSize keyboardSize = result.RectangleFValue.Size;

            Console.WriteLine(keyboardSize);

            if (savedBounds == false)
            {
                savedBounds = true;
                bounds      = Element.Bounds;
            }

            page.KeyboardChangeHandler(true);

            var newBounds = new Rectangle(bounds.Left, bounds.Top, bounds.Width, App.Current.MainPage.Height - keyboardSize.Height - 100);

            Element.Layout(newBounds);
        }
        void OnKeyboardHide(object sender, UIKeyboardEventArgs args)
        {
            ReportPage page = Element as ReportPage;

            if (page == null)
            {
                return;
            }

            NSValue result = (NSValue)args.Notification.UserInfo.ObjectForKey(new NSString(UIKeyboard.FrameEndUserInfoKey));

            Console.WriteLine("Hide Keyboard ReportPage " + result);
            page.KeyboardChangeHandler(false);

            Element.Layout(bounds);
            savedBounds = false;
        }