Completed
Last Updated: 06 Aug 2018 13:32 by ADMIN
ADMIN
Georgi
Created on: 06 Dec 2016 14:24
Category: UI for WPF
Type: Feature Request
3
Provide support for out of the box opening\closing of the Touch keyboard on Windows 10 for Input controls
With the Windows 10 Anniversary update native controls like TextBox provide this out of the box.
(Total attached files size should be smaller than 20mb. Allowed extensions: .zip, .rar, .jpg, .png, .gif)
2 comments
ADMIN
Ralitsa
Posted on: 06 Aug 2018 13:32
Hi, 

The feature is available in R2 2018 SP1 version. It will also be included in our official version – R3 2018, scheduled for the mid of September.

Best regards,
Ralitsa Kumanova
ADMIN
Georgi
Posted on: 22 Dec 2016 12:12
After further research we have found out that the this is reproduced only with controls using the RadWatermarkTextBox. The WatermarkTextBox uses its custom AutomationPeer that inherits FrameworkAutomationPeers and opening of the keyboard works only for controls that use TextBoxAutomationPeer or class that inherits it. We will further research the best way to address this issue, but meanwhile here are two workarounds that can be used:

     - If you don't need particular functionality of the AutomationPeers (Coded UI tests or high level of accessibility)  you can disable the creation of the custom automation peers for all controls with AutomationMode.FrameworkOnly and it would create only their basic automation peers (in this case TextBoxAutomationPeer):

public MainWindow()
        {
            AutomationManager.AutomationMode = AutomationMode.FrameworkOnly;
            InitializeComponent();
        }

     - Change the Watermark automation peers with TextBoxAutomationPeers (this workaround is applicable only for the WatermarkTextBox, it would be hard to apply it in RadDateTimePicker for example as its template needs to be changed in order to replace the WatermarkTextBox with the MyWatermarkTextBox):
  
class MyWatermarkTextBox : RadWatermarkTextBox
    {
        protected override AutomationPeer OnCreateAutomationPeer()
        {
            return new TextBoxAutomationPeer(this);
        }
    }