首页 > 解决方案 > UWP的TextBox中的下划线文本字体?

问题描述

我正在将现有的 Windows 控件转换为 UWP。我看不到在 UWP 的 TextBox 控件中使用下划线字体样式的方法。

我错过了一些基本的东西吗?或者我应该忘记 TextBox 并使用 RichEditBox (这对我的目的来说是一个巨大的矫枉过正)?

谢谢!

标签: uwp

解决方案


我错过了一些基本的东西吗?或者我应该忘记 TextBox 并使用 RichEditBox (这对我的目的来说是一个巨大的矫枉过正)?

您可以使用Windows.UI.Text.Core命名空间中的核心文本 API 来制作您自己的自定义输入控件。

您只需要使用一些通用的 UWP 控件(例如,文本块、堆栈面板、边框等)来制作一个输入控件(您可以将其称为您自己的自定义文本框),当您在其中输入文本时该控件具有下划线。

这是一个 UWP 官方自定义编辑控件示例。我刚刚在'CustomEditControl.xaml'中指定了TextDecorations属性值,然后,我实现了你的目标。TextBlock

<StackPanel x:Name="BorderPanel" BorderThickness="4" Background="White">
        <StackPanel x:Name="ContentPanel" Orientation="Horizontal" HorizontalAlignment="Left">
            <TextBlock x:Name="BeforeSelectionText" Foreground="Black" TextDecorations="Underline"/>
            <TextBlock x:Name="CaretText" Text="&#xe12b;" Foreground="Blue" FontFamily="Segoe UI Symbol"/>
            <Border Background="Blue">
                <TextBlock x:Name="SelectionText" Foreground="White"/>
            </Border>
            <TextBlock x:Name="AfterSelectionText" Foreground="Black"/>
        </StackPanel>
</StackPanel>

在此处输入图像描述


推荐阅读