There is a way to change the color of the carriage by redoing the text box. The cartridge does not blink, changing the color between black and white, but changing its color between the background color and the XOR value of the background color (the first paragraph in the "Additional Information" section here better explains what windows do to make the carriage blink). This applies to its own text field and should be applied to any βcustomβ written carriage in order to maintain look'n'el compliance with Windows standards.
There is a small workaround for WPF with which you can change the caret color:
<TextBox Background="Yellow"> <TextBox.Template> <ControlTemplate TargetType="{x:Type TextBox}"> <Border x:Name="Border"> <ScrollViewer Margin="0" x:Name="PART_ContentHost" Style="{DynamicResource SimpleTextScrollViewer}" /> </Border> </ControlTemplate> </TextBox.Template> </TextBox>
This way you set the background color (yellow), the carriage will blink between that color and yellow XOR (blue), but the yellow background will never be displayed (since the template does not care about the background color). (the above code is just an example to show what I mean, it does not contain all the visual effects of a regular text field, but they can be easily added).
source share