none
Missing UIElement.TextInput events and related types

    Question

  • Are there plans to add the UIElement.TextInput event soon?  I don't see any way to get an end user's typed input right now, other than via a TextBox control.  Sure there are KeyDown/KeyUp events, but they only tell you keys and not which text strings end up being typed by the keystroke sequences.

    We have plans to bring some edit-oriented custom controls to Metro (like our syntax highlighting code editor control), however it simply isn't possible at the moment due to there being no way to gather text input from a user in a custom Control.  I'm rather surprised that most of the Silverlight UI framework seems to have been ported over to XAML but this extremely important input capability was left out.

    What we need are these things:

    • TextInput event and other related events, event arg types, etc.  (required)
    • Some way for a UIElement to indicate that it requires keyboard input.  This way, when it gets focus it can tell the system to slide out the software keyboard if no hardware keyboard is attached, and behave similar to when a TextBox gets focus.  (required)
    • I'm not sure if you have any IME support in Metro, but if it requires some form of caret tracking similar to desktop apps, it would be handy to be able to report that as well so that custom edit controls like ours could properly accept foreign character sequences.  (desired)

    Please, please make sure there things get added to the XAML framework.  I can think of a ton of usage scenarios for accepting text input (exterior to TextBox) and not having these features in there will severely limit what types of custom controls developers can build for this platform.

    I can't urge strongly enough that you make sure text input features for custom controls are fully supported by RTM of Windows 8.


    actiprosoftware.com - Professional WPF, Silverlight, and WinForms UI controls and components
    Friday, September 16, 2011 1:24 AM

Answers

  • Thank you for the feedback. This is a known area of interest for the team with some improvements planned for the future. Please keep the feedback coming.

    There currently is indeed IME support on text controls in Metro style apps. In your third bullet point, are you seeking support for uncommitted characters or composed characters via such an event.


    Ashish Shetty, Program Manager, Microsoft | http://nerddawg.blogspot.com
    • Marked as answer by Greg Binkerd Friday, September 16, 2011 11:36 PM
    Friday, September 16, 2011 7:39 PM

All replies

  • +Infinity.  Get this done.
    Friday, September 16, 2011 1:58 AM
  • Yes MS, please support the features mentioned above. We want to have Actipro's SyntaxEditor in Win8
    Friday, September 16, 2011 9:29 AM
  • Can't imagine writing any of my apps for Win8 without Actipro controls.  Please make this happen before GA release.
    Friday, September 16, 2011 12:37 PM
  • Having Actipro controls work on the Metro UI is very important to us.
    Friday, September 16, 2011 1:39 PM
  • Having the ability to get raw keyboard input seems like an extremely basic UI framework feature.  Surely there has to be a way to do this??
    Friday, September 16, 2011 4:58 PM
  • Yes, please get this done.

    Friday, September 16, 2011 7:31 PM
  • Thank you for the feedback. This is a known area of interest for the team with some improvements planned for the future. Please keep the feedback coming.

    There currently is indeed IME support on text controls in Metro style apps. In your third bullet point, are you seeking support for uncommitted characters or composed characters via such an event.


    Ashish Shetty, Program Manager, Microsoft | http://nerddawg.blogspot.com
    • Marked as answer by Greg Binkerd Friday, September 16, 2011 11:36 PM
    Friday, September 16, 2011 7:39 PM
  • Hi Ashish,

    For our purposes, we generally only care about getting the actual composed characters that should be inserted into our custom edit control.  Effectively, the functionality of the TextInput event provided in WPF and Silverlight is exactly what we need here.

    For my #3 bullet point, in the WPF version of our editor, we used Windows API calls to notify IME where our caret was.  That allowed the IME popup to render its text right over where the caret is in our editor as the user is in the process of composing characters.  It provides a better text entry experience for foreign customers that way.  I'm not sure if you have a similar feature in Metro or not.  If so, it's handy to be able to tell you where our caret is and the size of our control so that you can determine where to properly show the IME popup.


    actiprosoftware.com - Professional WPF, Silverlight, and WinForms UI controls and components
    Friday, September 16, 2011 8:00 PM
  • Hey Bill -- do you have a few mins to chat about your scenario? I'd like to understand your control's architecture and how you're using the APIs. Contact me at alnuri /at/ Microsoft /dot/ com

    Thanks,

    Alnur

    Wednesday, September 21, 2011 6:00 PM
  • Are there plans to add the UIElement.TextInput event soon?  I don't see any way to get an end user's typed input right now, other than via a TextBox control.  Sure there are KeyDown/KeyUp events, but they only tell you keys and not which text strings end up being typed by the keystroke sequences.

    We have plans to bring some edit-oriented custom controls to Metro (like our syntax highlighting code editor control), however it simply isn't possible at the moment due to there being no way to gather text input from a user in a custom Control.  I'm rather surprised that most of the Silverlight UI framework seems to have been ported over to XAML but this extremely important input capability was left out.

    What we need are these things:

    • TextInput event and other related events, event arg types, etc.  (required)
    • Some way for a UIElement to indicate that it requires keyboard input.  This way, when it gets focus it can tell the system to slide out the software keyboard if no hardware keyboard is attached, and behave similar to when a TextBox gets focus.  (required)
    • I'm not sure if you have any IME support in Metro, but if it requires some form of caret tracking similar to desktop apps, it would be handy to be able to report that as well so that custom edit controls like ours could properly accept foreign character sequences.  (desired)

    Please, please make sure there things get added to the XAML framework.  I can think of a ton of usage scenarios for accepting text input (exterior to TextBox) and not having these features in there will severely limit what types of custom controls developers can build for this platform.

    I can't urge strongly enough that you make sure text input features for custom controls are fully supported by RTM of Windows 8.


    actiprosoftware.com - Professional WPF, Silverlight, and WinForms UI controls and components
     i have same problem ,there have any result?
    Tuesday, June 26, 2012 6:40 AM
  • Microsoft folks, we make C#-based custom UI controls for Windows 8 apps.  One of these that we are preparing is our SyntaxEditor syntax-highlighting code editor control.  We currently use the WIP version of it in our free "Code Writer" app, which is a Notepad++ type replacement for Windows 8.

    Now that a lot of Asian customers are starting to use the Code Writer app, we are getting a lot of negative feedback since we aren't supporting IME (input method editor) input for Asian glyphs.  Our custom control is NOT able to inherit TextBox or RichTextBox, which are the only controls that support IME.

    The only answer on this sort of thing we've gotten from you in the past is that we need to implement TSF (text services framework) for our controls, and yet there is very poor documentation on that in general, and absolutely no samples on how to consume it for a C# control.

    Can someone on the Microsoft dev team please work with us (directly as needed) to find a solution on adding IME to our C#-based custom controls?


    actiprosoftware.com - Professional WPF, WinRT, Silverlight, and WinForms UI controls and components

    Tuesday, June 18, 2013 1:53 PM
  • support this feature plz..it's very important for developing app for east asia and other none-english area user..
    Wednesday, June 26, 2013 4:00 AM