diff options
Diffstat (limited to 'Xamarin.Forms.Platform.WinRT/KeyboardExtensions.cs')
-rw-r--r-- | Xamarin.Forms.Platform.WinRT/KeyboardExtensions.cs | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/Xamarin.Forms.Platform.WinRT/KeyboardExtensions.cs b/Xamarin.Forms.Platform.WinRT/KeyboardExtensions.cs new file mode 100644 index 00000000..331e5269 --- /dev/null +++ b/Xamarin.Forms.Platform.WinRT/KeyboardExtensions.cs @@ -0,0 +1,57 @@ +using System; +using Windows.UI.Xaml.Input; + +#if WINDOWS_UWP + +namespace Xamarin.Forms.Platform.UWP +#else + +namespace Xamarin.Forms.Platform.WinRT +#endif +{ + public static class KeyboardExtensions + { + public static InputScope ToInputScope(this Keyboard self) + { + if (self == null) + throw new ArgumentNullException("self"); + + var result = new InputScope(); + var name = new InputScopeName(); + if (self == Keyboard.Default) + { + name.NameValue = InputScopeNameValue.Default; + } + else if (self == Keyboard.Chat) + { + name.NameValue = InputScopeNameValue.Chat; + } + else if (self == Keyboard.Email) + { + name.NameValue = InputScopeNameValue.EmailSmtpAddress; + } + else if (self == Keyboard.Numeric) + { + name.NameValue = InputScopeNameValue.Number; + } + else if (self == Keyboard.Telephone) + { + name.NameValue = InputScopeNameValue.TelephoneNumber; + } + else if (self == Keyboard.Text) + { + name.NameValue = InputScopeNameValue.Default; + } + else if (self == Keyboard.Url) + { + name.NameValue = InputScopeNameValue.Url; + } + else + { + name.NameValue = InputScopeNameValue.Default; + } + result.Names.Add(name); + return result; + } + } +}
\ No newline at end of file |