WPF-如何更改鼠标光标颜色

XSa*_*ien 4 wpf

我正在尝试将鼠标光标悬停在文本框上时更改其颜色,以便更容易在深色背景上查看。

鼠标光标颜色比较。

我知道如何更改四件事:

  1. 文字框背景色(.Background)
  2. 文本框前景色(.Foreground)
  3. 文字框的插入符号颜色(.CaretBrush)
  4. 鼠标光标图像(Mouse.OverrideCursor或this.Cursor)

我只是不能更改鼠标光标的颜色。

我遇到了一种将鼠标光标完全更改为自定义光标的方法,此问题是有人发布的另一个问题:“ WPF中的自定义光标?”。但是似乎只想改变颜色就显得有些矫kill过正,这样我才能真正看到鼠标在哪里。

如果文本框具有黑色背景,则鼠标光标的颜色实际上会自动变为白色。但是,如果背景不是很黑,不会自动更改。

ViV*_*iVi 5

就这么简单。尝试更改CaretBrush颜色。请参见下面的示例代码。

<TextBox Text="This is some random text" CaretBrush="Blue" />
Run Code Online (Sandbox Code Playgroud)

编辑:

如果不定义自定义光标,则无法更改鼠标颜色的颜色,但是可以更改其类型。请参见下面的示例。

<Grid>
    <TextBox Width="70" Height="20" CaretBrush="IndianRed" Text="TEST">
        <TextBox.Style>
            <Style TargetType="TextBox">
                <Style.Triggers>
                    <Trigger Property="IsMouseOver" Value="True">
                        <Setter Property="Cursor" Value="Pen" />
                    </Trigger>
                    <Trigger Property="IsMouseOver" Value="False">
                        <Setter Property="Cursor" Value="Arrow" />
                    </Trigger>
                </Style.Triggers>
            </Style>
        </TextBox.Style>
    </TextBox>
</Grid>
Run Code Online (Sandbox Code Playgroud)

如果要更改游标类型,请参阅此文章WPF中的自定义游标?