One of the limitations that my InputAwarePanel had was that even though it resized available space properly when the InputPane is shown, it didn’t actually keep the TextBox in view when that happened. Even though this sounds like a simple task, I quickly found out that it was quite the opposite. I’ll go over some of the issues I encountered, point out unresolved limitations, and show a small demo of it in action. Along with this little improvement, I’ve also made the source code available on CodePlex for anyone to check out and improve so please check it out and report any bugs you may find.
Pretty much everyone who’ve tried to create some sort of text input page in a Windows Phone app has probably encountered the sometimes annoying way occluded TextBoxes are handled. Whenever a TextBox in focus on a device without a hardware keyboard, a software InputPane is shown so the user can input text. However, if the InputPane covers up the TextBox, the OS slides the whole page up so the TextBox is visible. The problem with this is anything at the top of the page is now unreachable because it has been slid out of view. Luckily, I’ve written a control that mimics more closely to the native OS’ way of handling occluding InputPanes and it’s now available in my toolkit QKit.