如何在悬停时更改文本框标题颜色?

问题描述

我有以下几点:

<TextBox HorizontalAlignment="Stretch"  VerticalAlignment="Stretch" FontSize="12" Header="Name" >
    <TextBox.HeaderTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding}" Foreground="Red" />
        </DataTemplate>
</TextBox.HeaderTemplate>

有没有办法通过 DataTemplate 或 Xaml 行为来改变前景?

解决方法

您可以使用 XamlBehaviors

在 Xaml 中添加 Nuget Microsoft.Xaml.Behaviors.Uwp.Managed 和引用。

 xmlns:Core="using:Microsoft.Xaml.Interactions.Core"
 xmlns:Interactivity="using:Microsoft.Xaml.Interactivity"

处理 PointerEntered 上的 PointerExitedTextBlock 事件。

<TextBox HorizontalAlignment="Stretch"  VerticalAlignment="Stretch" FontSize="12" Header="Name" >
    <TextBox.HeaderTemplate>
        <DataTemplate>
            <TextBlock Text="{Binding}" Foreground="Red">
                <Interactivity:Interaction.Behaviors>
                    <Core:EventTriggerBehavior EventName="PointerEntered">
                        <Core:ChangePropertyAction PropertyName="Foreground">
                            <Core:ChangePropertyAction.Value>
                                <SolidColorBrush Color="Blue" />
                            </Core:ChangePropertyAction.Value>
                        </Core:ChangePropertyAction>
                    </Core:EventTriggerBehavior>
                    <Core:EventTriggerBehavior EventName="PointerExited">
                        <Core:ChangePropertyAction PropertyName="Foreground">
                            <Core:ChangePropertyAction.Value>
                                <SolidColorBrush Color="Red" />
                            </Core:ChangePropertyAction.Value>
                        </Core:ChangePropertyAction>
                    </Core:EventTriggerBehavior>
                </Interactivity:Interaction.Behaviors>
            </TextBlock>
        </DataTemplate>
    </TextBox.HeaderTemplate>
</TextBox>

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...