TextBox textBox = new TextBox();
textBox.Text = "Sample Text";
textBox.IsReadOnly = true;
textBox.FontFamily = new FontFamily("Verdana");
textBox.FontSize = 24;
textBox.FontWeight = Windows.UI.Text.FontWeights.Bold;
textBox.FontStyle = Windows.UI.Text.FontStyle.Italic;
textBox.CharacterSpacing = 200;
textBox.Width = 300;
textBox.Background = new SolidColorBrush(Windows.UI.Colors.Beige);
textBox.Foreground = new SolidColorBrush(Windows.UI.Colors.Blue);
// Add the TextBox to the visual tree.
rootGrid.Children.Add(textBox);
生成的 TextBox 如下所示。
有关详细信息,请参阅带手写视图的文本输入。
默认情况下,TextBox 上下文菜单中显示的命令取决于 TextBox 的状态。 例如,当 TextBox 可编辑时,可以显示以下命令。
若要修改上下文菜单中显示的命令,请处理 ContextMenuOpening 事件。 有关此示例,请参阅 自定义 RichEditBox 的 CommandBarFlyout - 在WinUI 2 库中添加“Share”示例。 有关设计信息,请参阅 上下文菜单指南。
选择、复制和粘贴
可以使用 SelectedText 属性获取或设置 TextBox 中的选定文本。 使用 SelectionStart 和 SelectionLength 属性以及 Select 和 SelectAll 方法来操作文本选择。 当用户选择或取消选择文本时,处理 SelectionChanged 事件以执行某些操作。 可以通过设置 SelectionHighlightColor 属性更改用于突出显示所选文本的颜色。
默认情况下,TextBox 支持复制和粘贴。 你可以在应用中的可编辑文本控件上提供 Paste 事件的自定义处理。 例如,在将多行地址粘贴到单行搜索框中时,你可以从该地址中删除换行符。 或者,你可以检查粘贴文本的长度,如果它超出可保存到数据库的最大长度,则警告用户。 有关详细信息和示例,请参阅 Paste 事件。
将文本框与触摸键盘配合使用
当应用在具有触摸屏的设备上运行时,触摸键盘可用于文本输入。 TextBox 提供可以设置的属性,让用户使用触摸键盘在应用中输入数据更快、更轻松。 设置 InputScope 属性以匹配用户应输入的数据类型。 例如,如果 TextBox 仅用于输入 4 位 PIN,请将 InputScope 属性设置为 Number。 这将通知系统显示数字键盘布局,以便于用户输入 PIN。
影响触摸键盘的其他属性是 IsSpellCheckEnabled、IsTextPredictionEnabled 和 PreventKeyboardDisplayOnProgrammaticFocus。 (IsSpellCheckEnabled 在使用硬件键盘时也会影响 TextBox。) 有关详细信息和示例,请参阅 使用输入范围更改触摸键盘和属性文档。
控件样式和模板
可以修改默认 的 Style 和 ControlTemplate ,为控件提供唯一的外观。 有关修改控件的样式和模板的信息,请参阅 设置控件样式。 文件中包含 generic.xaml
定义控件外观的默认样式、模板和资源。 出于设计目的, generic.xaml
可通过 SDK 或 NuGet 包安装在本地使用。
建议) (WinUI 样式 : 有关 WinUI 中更新的样式,请参阅 \Users\<username>\.nuget\packages\microsoft.ui.xaml\<version>\lib\uap10.0\Microsoft.UI.Xaml\Themes\generic.xaml
。非 WinUI 样式: 有关内置样式,请参阅 %ProgramFiles(x86)%\Windows Kits\10\DesignTime\CommonConfiguration\Neutral\UAP\<SDK version>\Generic\generic.xaml
。如果自定义安装,位置可能会有所不同。 不同版本的 SDK 的样式和资源可能具有不同的值。
XAML 还包括可用于在不修改控件模板的情况下修改不同视觉状态下控件颜色的资源。 修改这些资源优先于设置 背景 和 前台等属性。 有关详细信息,请参阅 XAML 样式一文的轻量级样式部分。 从 Windows 10 版本 1607 (SDK 14393) 开始提供轻量级样式资源。
以 TextControl
开头的资源由 TextBox
、 PasswordBox、 RichEditBox 和 AutoSuggestBox 共享。 对这些资源的更改将影响所有四个控件。
版本历史记录
获取与此 对象关联的 CoreDispatcher 。
CoreDispatcher 表示可以访问 UI 线程上的 DependencyObject 的工具,即使代码是由非 UI 线程启动的。
(继承自 DependencyObject)
获取或设置文本和其他 UI 元素在控制其布局的任何父元素中的流动方向。 此属性可以设置为 LeftToRight 或 RightToLeft。 在任何元素上将 FlowDirection 设置为 RightToLeft 会将对齐方式设置为右对齐,将读取顺序设置为从右到左,并将控件的布局设置为从右到左流动。
(继承自 FrameworkElement)
获取或设置 UIElement (使用的 UI 主题及其子元素) 资源确定。 使用 RequestedTheme 指定的 UI 主题可以替代应用级 RequestedTheme。
(继承自 FrameworkElement)
获取本地定义的资源字典。 在 XAML 中,可以通过 XAML 隐式集合语法将资源项建立为 property 元素的 frameworkElement.Resources
子对象元素。
(继承自 FrameworkElement)
为指定的路由事件添加路由事件处理程序,并将该处理程序添加到当前元素的处理程序集合中。 将 handledEventsToo 指定为 true ,以调用提供的处理程序,即使在其他位置处理事件也是如此。
(继承自 UIElement)
汇报 UIElement 的 DesiredSize。 通常,为其布局子级实现自定义布局的对象从其自己的 MeasureOverride 实现中调用此方法,以形成递归布局更新。
(继承自 UIElement)
每当应用程序代码或内部进程 ((例如重新生成布局传递) 调用 ApplyTemplate)时调用。 用最简单的术语来说,这意味着在 UI 元素在应用中显示之前调用 方法。 重写此方法以影响类的默认后模板逻辑。
(继承自 FrameworkElement)
在应用中处理 键盘快捷方式 (或快捷键) 之前调用。 每当应用程序代码或内部进程调用 ProcessKeyboardAccelerators 时调用。 重写此方法以影响默认加速器处理。
(继承自 UIElement)
在释放之前启动 按下 操作的指针设备时发生,同时在此元素中。 请注意, 不保证按下 操作的结尾会触发 PointerReleased 事件;可能会触发其他事件。 有关详细信息,请参阅备注。
(继承自 UIElement)
命令 | 在以下情况下显示... |
复制 | 文本处于选中状态。 |
剪切 | 文本处于选中状态。 |
粘贴 | 剪贴板包含文本。 |
全选 | TextBox 包含文本。 |
撤消 | 文本已更改。 |
Windows 版本 |
SDK 版本 |
---|