【发布时间】:2018-01-15 16:35:17
【问题描述】:
现在我只想在鼠标悬停时将按钮的背景更改为#f5f5f5。
WPF有一个触发功能,可以轻松做到。
而我听说UWP已经没有触发器了,而是有其他功能,比如这个问题:
Trigger element (XAML) is not supported in a UWP project
我使用 DataTriggerBehavior 作为教程:
<ControlTemplate TargetType="Button" x:Key="ButtonControlTemplate">
<Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" VerticalAlignment="{TemplateBinding VerticalAlignment}" HorizontalAlignment="{TemplateBinding HorizontalAlignment}" Name="ButtonBorder" Background="{TemplateBinding Background}">
<ContentPresenter FontSize="{TemplateBinding FontSize}" FontFamily="{TemplateBinding FontFamily}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Foreground="{TemplateBinding Foreground}"></ContentPresenter>
</Border>
<Interactivity:Interaction.Behaviors>
<Core:DataTriggerBehavior Binding="{Binding PointerMovedEvent, ElementName=ButtonBorder}" Value="true">
<Core:ChangePropertyAction TargetObject="{Binding ElementName=ButtonBorder}" PropertyName="Background" Value="#f5f5f5" />
</Core:DataTriggerBehavior>
</Interactivity:Interaction.Behaviors>
</ControlTemplate>
程序可以运行成功,但不能改变背景。
天哪。
我也尝试过VisualState,但我找不到教程所以我不知道如何使用它。
而且,我几乎不知道为什么微软不再使用触发器了。
你能帮我解决我的问题吗?
非常感谢!
【问题讨论】: