| File: Internals\TextTransformUtilites.cs | Web Access |
| Project: src\src\Controls\src\Core\Controls.Core.csproj (Microsoft.Maui.Controls) |
#nullable disable using System.ComponentModel; namespace Microsoft.Maui.Controls.Internals { // TODO Rename this class to not have a typo /// <summary> /// A utilities class for text transformations. /// </summary> /// <remarks>For internal use by the .NET MAUI platform.</remarks> [EditorBrowsable(EditorBrowsableState.Never)] public static class TextTransformUtilites { /// <summary> /// Applies the <paramref name="textTransform"/> to <paramref name="source"/>. /// </summary> /// <remarks>For internal use by the .NET MAUI platform mostly.</remarks> /// <param name="source">The text to transform.</param> /// <param name="textTransform">The transform to apply to <paramref name="source"/>.</param> /// <returns>The transformed text.</returns> [EditorBrowsable(EditorBrowsableState.Never)] public static string GetTransformedText(string source, TextTransform textTransform) { if (string.IsNullOrEmpty(source)) return string.Empty; switch (textTransform) { case TextTransform.None: default: return source; case TextTransform.Lowercase: return source.ToLowerInvariant(); case TextTransform.Uppercase: return source.ToUpperInvariant(); } } /// <summary> /// Sets the plain text value to the specified input view. /// </summary> /// <remarks>For internal use by the .NET MAUI platform.</remarks> /// <param name="inputView">The view that will receive the text value.</param> /// <param name="platformText">The text that will be applied to the view.</param> [EditorBrowsable(EditorBrowsableState.Never)] public static void SetPlainText(InputView inputView, string platformText) { if (inputView == null) return; var textTransform = inputView.TextTransform; var platformTextWithTransform = inputView.UpdateFormsText(platformText, textTransform); var formsText = inputView.UpdateFormsText(inputView.Text, textTransform); if ((string.IsNullOrEmpty(formsText) && platformText.Length == 0)) return; if (formsText == platformTextWithTransform) return; inputView.SetValueFromRenderer(InputView.TextProperty, platformText); } } }