2016-01-13 3 views
12

Мы начали создавать приложение для подключения WPF в Windows 8 и недавно перенесли на Windows 10. Одна из реализованных нами функций - это открытие Windows Keyboard, когда TextBox получает фокус. В Windows 8 можно было состыковать клавиатуры к основанию, установив параметр EdgeTargetDockedState реестра и запуск процесса TabTip:Открытая сенсорная клавиатура Windows 10, закрепленная в WPF

 string path = @"C:\Program Files\Common Files\Microsoft Shared\ink\TabTip.exe"; 
    var info = new ProcessStartInfo(path); 
    info.WindowStyle = ProcessWindowStyle.Maximized; 
    var p = new Process(); 
    p.StartInfo = info; 
    p.Start(); 

винда 10 клавиатура, однако, кажется, не имеют такое же поведение, как в док Windows 8. Клавиатура теперь накладывает любое максимизированное окно, которое скрывает нижнюю часть любого приложения. Только не максимизированные окна изменяются в соответствии с оставшимся пространством.

Я проверил следующие ссылки, но не нашел решение:

Может 10 клавиатура для Windows будет пристыкован программно для развернутого окна?

+0

Вы нашли решение? – nicruo

+0

Насколько я знаю, клавиатура в Windows 10 не может быть состыкована при максимальном увеличении окна. Я спросил в ссылке Microsoft, где эта функция может быть официально запрошена, но не получила удовлетворительного ответа. Если это не будет реализовано, я думаю, мне придется посмотреть на «почти максимизацию» окна, а затем открыть клавиатуру (что кажется очень уродливым решением). –

ответ

5

Я открыл свой проект для автоматизации всего, что касается интеграции TabTip в приложении WPF.

Вы можете получить его на nuget, и после этого все, что вам нужно, это простой конфигурации в приложениях логики запуска:

TabTipAutomation.BindTo<TextBox>(); 

Вы можете связать логику автоматизации TabTip любому UIElement. Виртуальная клавиатура откроется, когда любой такой элемент получит фокус, и он закроется, когда элемент потеряет фокус. Не только это, но TabTipAutomation переместит UIElement (или Window) в представление, так что TabTip не будет блокировать сфокусированный элемент.

Для получения дополнительной информации обратитесь к project site.

Чтобы уточнить: если вы будете использовать этот пакет, TabTip не будет состыкован, но ваш интерфейс будет отображаться, и я думаю, это то, чего вы хотели достичь.

+0

Спасибо @ Макс Федотов, я не закончил использовать ваш проект, но я выбрал и вытащил те части, которые мне нужны, и это помогло мне преодолеть проблему, с которой я столкнулся. – BigHeadCreations

2

Проверить эту статью: http://www.codeproject.com/Tips/1120263/Virtual-Keyboard-TabTip-integration-in-WPF-on-Win

Virtual Keyboard будет открываться при любой такой элемент получит фокус, и он будет закрываться, когда элемент теряет фокус.

+0

Хотя эта ссылка может ответить на вопрос, лучше включить здесь основные части ответа и предоставить ссылку для справки. Ответные ссылки могут стать недействительными, если связанная страница изменится. – Marusyk