What Kim says is the right way.
However, if you really need to use touch input, it can be not suitable. Usually, touch input requires larger controls, for example, and the interests of the users using touch are largely ignored by design of Windows including the latest versions. If this is the problem, you may want to create your custom Virtual Keyboard.
It should be system-wide as well, of course.
You can find the key recipe on how to do it; please see my past answers and this discussions:
Application focus getting and losing[
^],
Programming on BACKSPACE button[
^].
See also this CodeProject article:
A software Virtual Keyboard for your WPF apps[
^].
—SA