文本框插入符号样式

     2023-02-19     176

关键词:

【中文标题】文本框插入符号样式【英文标题】:TextBox Caret Styling 【发布时间】:2012-03-06 15:13:30 【问题描述】:

我发现了一些关于在 WPF4 中设置 CaretBrushes 的内容,但实际上有没有人更改过插入符本身?

我想做的是在 INSERT 模式下使用 OVERWRITE 插入符号。我见过hack from .Net 3.5 times,但它表现不佳并且缺乏实际的光标移动......

如果插入符号有一个模板,那就太好了 - 这将与整个 WPF 理念一致......

有什么建议吗?

【问题讨论】:

见codeproject.com/Articles/633935/… 【参考方案1】:

CaretElement 是一个内部密封类,无法通过例如数据模板进行自定义。至少,插入符号笔刷是可以改变的。

<TextBox Text="This is some random text" CaretBrush="Blue" />

如果你想在插入符号画笔上有一个线性渐变,可以这样做。

<TextBox Text="This is some random text" FontSize="20">
        <TextBox.CaretBrush>
            <LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
                <LinearGradientBrush.GradientStops>
                    <GradientStop Color="Blue" Offset="0" />
                    <GradientStop Color="Red" Offset="1" />
                </LinearGradientBrush.GradientStops>
            </LinearGradientBrush>
        </TextBox.CaretBrush>

我也尝试使用 Visual Brush,但插入符号始终显示为一条小的垂直线。

【讨论】:

【参考方案2】:

因为框架使用与背景颜色相反的颜色来设置插入符号的颜色,如果将背景属性设置为 x:Null,那么最终会得到默认的黑色插入符号,它位于黑色背景上可能特别难以看到!

http://www.codeproject.com/Articles/34736/Changing-the-Caret-Colour-in-WPF

解决此问题的简单方法是实际为 Background 属性指定一个值。如果您有黑色背景并想要一个白色插入符号,您可以将 Background 属性的值设置为 #00000000,这是完全透明的黑色(如果有意义的话!)。 框架似乎忽略了颜色的不透明度组件,因此您最终会得到透明背景和白色插入符号!

结论:你必须指定带有不透明度的背景属性来控制插入符号的样式。

【讨论】:

在 html 文本框中设置键盘插入符号位置

】在html文本框中设置键盘插入符号位置【英文标题】:Setkeyboardcaretpositioninhtmltextbox【发布时间】:2010-10-0511:31:41【问题描述】:有人知道如何将文本框中的键盘插入符号移动到特定位置吗?例如,如果一个文本框(例如输入元... 查看详情

如何选择文本框中的文本,插入符号位于选择的开头?

】如何选择文本框中的文本,插入符号位于选择的开头?【英文标题】:HowtoselecttextinaTextBoxwiththecaretpositionedattheSTARToftheselection?【发布时间】:2016-03-1217:46:56【问题描述】:我正在使用System.Windows.Forms.TextBox。可以使用键盘选择... 查看详情

如何在文本框中插入符号(英镑、欧元、版权)

】如何在文本框中插入符号(英镑、欧元、版权)【英文标题】:HowtoinsertaSymbol(Pound,Euro,Copyright)intoaTextbox【发布时间】:2013-09-0818:40:47【问题描述】:我可以使用带有数字键盘的Alt键来键入符号,但是如何以编程方式将符号(... 查看详情

WinForms 文本框的自定义插入符号

】WinForms文本框的自定义插入符号【英文标题】:CustomCaretforWinFormsTextBox【发布时间】:2010-10-1105:30:36【问题描述】:我正在WinForms.Net2.0应用程序中开发类似超级终端的自定义应用程序。我在面板中有一个多行文本框,您可以在... 查看详情

如何在word文档的方框里打勾

...,文字环绕设置为环绕,这样我们才能在表格后面打字。文本框插入对号的方法1、在word里面先插入一个对号,具体方法是在菜单栏——插入——特殊符号,然后选择数学符号模块,选择对号,点击确定。2、然后再插入一个文本... 查看详情

将插入符号/光标位置设置为字符串值 WPF 文本框的末尾

】将插入符号/光标位置设置为字符串值WPF文本框的末尾【英文标题】:Setthecaret/cursorpositiontotheendofthestringvalueWPFtextbox【发布时间】:2011-02-2218:03:54【问题描述】:当我第一次打开窗口时,我尝试将插入符号/光标位置设置为WPF文... 查看详情

当父元素可拖动时如何允许文本框插入符号位置(在鼠标单击时)

】当父元素可拖动时如何允许文本框插入符号位置(在鼠标单击时)【英文标题】:Howtoallowtextboxcaretpositioning(viamouseclick)whenparentelementisdraggable【发布时间】:2014-06-1806:55:58【问题描述】:参考。http://jsfiddle.net/a4LJv/2/在IE/Firefox中... 查看详情

字体不支持符号时如何在WPF文本框中插入版权、商标、服务标记等

】字体不支持符号时如何在WPF文本框中插入版权、商标、服务标记等【英文标题】:Howtoinsertcopyright,trademark,servicemark,etc.intoWPFtextboxwhenfontdoesn\'tsupportsymbols【发布时间】:2011-01-1012:32:47【问题描述】:我们有一个WPF应用程序,它... 查看详情

word里面怎么在口里打对号啊?

...面一一的为大家做一下介绍。  工具/原料  word  文本框插入对号的方法  在word里面先插入一个对号,具体方法是在菜单栏——插入——特殊符号,然后选择数学符号模块,选择对号,点击确定  然后再插入一个文本... 查看详情

在富文本框中定位列表框

】在富文本框中定位列表框【英文标题】:Positioninglistboxwithinarichtextbox【发布时间】:2011-12-2904:25:53【问题描述】:我有一个富文本框,里面有一个列表框。我希望列表框位于插入符号下方并随着插入符号的移动而移动。我该怎... 查看详情

RichTextBox C# 设置插入符号位置 winforms

...【问题描述】:我正在构建一个聊天应用程序,用户将其文本输入到富文本框中。在富文本框中有一个初始文本,上面写着:“我:”。现在,当用户按下主页按钮时,我希望插入符号位于“Me:”字符串之后。因此对于Shift+Home... 查看详情

将插入符号移动到文本输入字段的末尾并使结尾可见

】将插入符号移动到文本输入字段的末尾并使结尾可见【英文标题】:MovecarettotheendofatextinputfieldANDmaketheendvisible【发布时间】:2011-02-1103:07:34【问题描述】:我快疯了。我有一个自动建议框,用户可以在其中选择建议。在下一个... 查看详情

从聚焦的只读输入中删除文本插入符号/指针

】从聚焦的只读输入中删除文本插入符号/指针【英文标题】:Removetextcaret/pointerfromfocusedreadonlyinput【发布时间】:2011-07-2313:42:43【问题描述】:我正在使用&lt;inputreadonly="readonly"&gt;,其样式为普通文本,以消除交互... 查看详情

强制 ASP.NET 文本框显示带有 $ 符号的货币

】强制ASP.NET文本框显示带有$符号的货币【英文标题】:ForceASP.NETtextboxtodisplaycurrencywith$sign【发布时间】:2008-10-1417:24:58【问题描述】:有没有办法让ASP.NET文本框只接受货币值,并且在验证控件时,预先插入$符号?例子:10.23变... 查看详情

将插入符号位置保持在文本输入中的可见位置 - firefox 行为不端

】将插入符号位置保持在文本输入中的可见位置-firefox行为不端【英文标题】:Keepingcaretpositioninavisiblepositionintextinput-firefoxmisbehaves【发布时间】:2010-10-1517:21:18【问题描述】:我正在玩弄我的文本输入框的想法,即单击包含“标... 查看详情

简单文本编辑器制作

对于文本编辑器,最关键的知识点,就是 插入符号 的操作了...windows中有5个基本的插入符号函数:  CreateCaret:创建和窗口关联的插入符号  SetCaretPos:设置窗口内的插入符号的位置  ShowCaret:显示插入符号  Hid... 查看详情

Angularjs 指令在 textarea 插入符号处插入文本

】Angularjs指令在textarea插入符号处插入文本【英文标题】:AngularjsdirectivetoInserttextattextareacaret【发布时间】:2014-02-1911:35:22【问题描述】:我有控制器MyCtrl和指令myText。当MyCtrl中的模型发生变化时,我想通过在当前位置/插入符号... 查看详情

更改引导插入符号(颜色和位置)

...:37【问题描述】:我想改变插入符号的颜色,使其与输入文本不相关,因为很难让它看起来很好。【问题讨论】:【参考方案1】:不是最好的方法,但应该可以:在Bootstrap包含后将其添加到您的样式表(CSS)。.btn-primary.caret,.btn-war... 查看详情