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

How do I change Textbox Header color on hover?

我有以下内容:

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

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

您可以使用 XamlBehaviors.

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

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

TextBlock 上处理 PointerEnteredPointerExited 事件。

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