All Projects → maximcus → WPFTabTip

maximcus / WPFTabTip

Licence: MIT license
Simple TabTip / Virtual Keyboard integration for WPF apps on Win 8.1 and Win 10

Programming Languages

C#
18002 projects

Projects that are alternatives of or similar to WPFTabTip

Keyboard
Virtual Keyboard using jQuery ~
Stars: ✭ 1,670 (+1864.71%)
Mutual labels:  osk, virtual-keyboard
TeeChart-for-.NET-CSharp-WPF-samples
Assorted WPF examples
Stars: ✭ 18 (-78.82%)
Mutual labels:  wpf
WinDirStat.Net
A WPF implementation of WinDirStat.
Stars: ✭ 55 (-35.29%)
Mutual labels:  wpf
SacredUtils
Configuration utility for Sacred & Sacred Underworld with Material Design. Abandoned 05/07/2020.
Stars: ✭ 27 (-68.24%)
Mutual labels:  wpf
fsc
A set of themeable WPF File System Controls similar to some parts of Windows (7-10) Explorer
Stars: ✭ 66 (-22.35%)
Mutual labels:  wpf
SimpleDialogs
💬 A simple framework to help displaying dialogs on a WPF app
Stars: ✭ 24 (-71.76%)
Mutual labels:  wpf
Displaying-XAML
This library is for display the XAML code of theme library for WPF (e.g. MaterialDesignInXamlToolkit)
Stars: ✭ 38 (-55.29%)
Mutual labels:  wpf
Simple.Wpf.DataGrid
An experiment to build a data grid (blotter) in WPF without using any third party libaries
Stars: ✭ 64 (-24.71%)
Mutual labels:  wpf
SyncPro
SyncPro is a Windows app for synchronizing files between various online storage providers (OneDrive, Google Drive, Amazon S3, etc.)
Stars: ✭ 39 (-54.12%)
Mutual labels:  wpf
MediaFlyout
Windows 10+ Media Control Taskbar Flyout
Stars: ✭ 87 (+2.35%)
Mutual labels:  wpf
BilibiliLiveRecordDownLoader
Bilibili 直播录制与回放下载
Stars: ✭ 422 (+396.47%)
Mutual labels:  wpf
DTE
Generate C# class from database table
Stars: ✭ 26 (-69.41%)
Mutual labels:  wpf
DotNetWithCMake
Your swiss army knife for creating .NET assemblies with CMake and integrating unmanaged code.
Stars: ✭ 50 (-41.18%)
Mutual labels:  wpf
RDLCPrinter
Wpf ReportViewer control and RDLCPrinter work with SQL Server LocalReport. You can export your report to PDF, Word or PNG Image...
Stars: ✭ 26 (-69.41%)
Mutual labels:  wpf
markdig.wpf
A WPF library for xoofx/markdig https://github.com/xoofx/markdig
Stars: ✭ 133 (+56.47%)
Mutual labels:  wpf
XamlIslands
Repository with several XAML Islands v1 samples (Win32, WPF, and WinForms) to demonstrate how to use it.
Stars: ✭ 47 (-44.71%)
Mutual labels:  wpf
react-material-ui-keyboard
Virtual keyboard for TextField when needed
Stars: ✭ 54 (-36.47%)
Mutual labels:  virtual-keyboard
WinDev-Utility
A utility for windows developers
Stars: ✭ 17 (-80%)
Mutual labels:  wpf
Weather
用WPF写的日历天气桌面小程序
Stars: ✭ 44 (-48.24%)
Mutual labels:  wpf
WpfMultiStyle
Apply multiple styles to one element for WPF.
Stars: ✭ 18 (-78.82%)
Mutual labels:  wpf

WPFTabTip

Simple TabTip / Virtual Keyboard integration for WPF apps on Win 8.1 and Win 10

Simple to use

The easiest way to install the WPFTabTip is using the Package Manager Console in Visual Studio:

PM> Install-Package WPFTabTip

One line of code in your startup logic, and you good to go!

TabTipAutomation.BindTo<TextBox>();

You can bind TabTip automation logic to any UIElement. Virtual Keyboard will open when any such element will get focus, and it will close when element will lose focus. Not only that, but TabTipAutomation will move UIElement (or Window) into view, so that TabTip will not block focused element.

Hardware keyboard detection

By default TabTip automation will occur only if no hardware keyboard is detected.

You can change that behavior by setting TabTipAutomation.IgnoreHardwareKeyboard to any of the following values:

public enum HardwareKeyboardIgnoreOptions
    {
        /// <summary>
        /// Do not ignore any keyboard.
        /// </summary>
        DoNotIgnore,

        /// <summary>
        /// Ignore keyboard, if there is only one, and it's description 
        /// can be found in ListOfKeyboardsToIgnore.
        /// </summary>
        IgnoreIfSingleInstanceOnList,

        /// <summary>
        /// Ignore keyboard, if there is only one.
        /// </summary>
        IgnoreIfSingleInstance,
        
        /// <summary>
        /// Ignore all keyboards for which the description 
        /// can be found in ListOfKeyboardsToIgnore
        /// </summary>
        IgnoreIfOnList,

        /// <summary>
        /// Ignore all keyboards
        /// </summary>
        IgnoreAll
    }

If you want to ignore specific keyboard you should set TabTipAutomation.IgnoreHardwareKeyboard to either IgnoreIfSingleInstanceOnList or IgnoreIfOnList, and add keyboard description to TabTipAutomation.ListOfKeyboardsToIgnore.

To get description of keyboards connected to machine you can use following code:

new ManagementObjectSearcher(new SelectQuery("Win32_Keyboard")).Get()
                .Cast<ManagementBaseObject>()
                .SelectMany(keyboard =>
                    keyboard.Properties
                        .Cast<PropertyData>()
                        .Where(k => k.Name == "Description")
                        .Select(k => k.Value as string))
                .ToList();

Change keyboard layout

To specify keyboard layout to be used with certain element you can set InputScope property in xaml to one of the following:

  • Default
  • Url
  • EmailSmtpAddress
  • Number
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].