簡體   English   中英

WPF - 如何更改鼠標光標顏色

[英]WPF - How to Change Mouse Cursor Color

我試圖更改鼠標光標懸停在文本框上時的顏色,以便在深色背景上更容易看到。

鼠標光標顏色比較。

我知道如何改變四件事:

  1. 文本框背景顏色 ( .Background )
  2. 文本框前景色( .Foreground
  3. 文本框插入符號顏色 ( .CaretBrush )
  4. 鼠標光標圖像( Mouse.OverrideCursorthis.Cursor

我只是無法更改鼠標光標顏色。

我在某人發布的另一個問題中遇到了一種將鼠標光標完全更改為自定義光標的方法:“WPF 中的自定義光標?”。 但是僅僅想改變顏色似乎有點矯枉過正,這樣我才能真正看到鼠標的位置。

如果文本框有黑色背景,鼠標光標顏色實際上會自動變為白色 但是如果它的背景不是很黑,則不會自動更改。

就是這么簡單。 嘗試更改 CaretBrush 顏色。 請參閱下面的示例代碼。

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

編輯:

如果不定義自定義光標,則無法更改鼠標顏色的顏色,但可以更改其類型。 請參閱下面的示例。

<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>

如果您想更改光標類型,請參閱WPF 中的自定義光標?

您可以使用 WPF 中的 CaretBrush 屬性更改光標的顏色。 例如:

<Style x:Key="TextBoxStyle" TargetType="TextBox">            
        <Style.Triggers>
            <Trigger Property="IsKeyboardFocusWithin" Value="True">
                <Setter Property="CaretBrush" Value="White"/>
            </Trigger>
        </Style.Triggers>
</Style>

如果需要,您可以添加自己的觸發條件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM