I have been for a few days updating one of my apps for it to run smoothly on Windows touch tablets. I had created new API Modern UI apps for the Windows Store before, so I naively thought it would be kind of simple to basically revamp the windows layout and add the proper Modern UI controls. Well, it is not as simple.
Tablets with a set of windows are not convenient at all. Windows controls (close box, scrollbar, etc.) are too small for touch, and very unfriendly. So if I detect there is no keyboard, I switch to full screen kiosk mode.
I had to devise sort of a simplified auto layout (relative only to left and top parent) to accommodate the incredibly fragmented screen sizes, from the common 1024 x 768 to to 2550 x 1600. Not to forget rotation. That was no simple task because not only controls size and position must follow, but also font size, and even HTMLViewer Zoom level. That out of the way, I patiently implemented typically touch stuff and thought I was OK.
Now I bump into a page that has at its core a Listbox, and it used extensively Control keys. Increasing rowheight and textsize is simple, but replacing the ctrl keys is less straightforward. For instance, I was using Ctrl-I for insert row, and Ctrl-R for remove row. With touch, there are no Function keys or Control keys. At least with the modern virtual keyboard.
So I am to embark on using a ContextualMenu. But the regular one is a bit small for touch. And there seems to be no way to increase the font size. So I will probably have to roll my own with a ListBox.
Interesting endeavor. I never quite grasped until today how keyboard oriented Windows was.
In the end, though, this little journey will bring a lot of rewards. After going through all the little tidbits needed to touchify that previously typically desktop app, I feel a whole lot more comfortable for the next stage : porting it to iPad.