WPF-更改多个按钮的前景和背景的触发器';s对象

WPF-更改多个按钮的前景和背景的触发器';s对象,wpf,xaml,button,storyboard,eventtrigger,Wpf,Xaml,Button,Storyboard,Eventtrigger,我正在尝试通过TextBlock和面板内部按钮来激活彩色动画。我的目标是在使用MouseEnter和MouseLeave路由事件时更改文本块的前景和面板的背景 下面的代码实际上正在工作。但它只在鼠标光标位于这两个对象中的一个对象上时才起作用(这是有意义的) 当鼠标位于按钮上方时(特别是当鼠标不在面板或文本块上方时),我不知道如何激活彩色动画) 下面是一个按钮看起来正常的示例: 这是我聚焦面板时按钮的外观: 这就是我对焦时按钮的样子(按钮背景与面板背景和文本块前景的颜色相同) 这就是鼠标放在

我正在尝试通过
TextBlock
面板
内部
按钮来激活彩色动画。我的目标是在使用MouseEnterMouseLeave路由事件时更改文本块的前景和面板的背景

下面的代码实际上正在工作。但它只在鼠标光标位于这两个对象中的一个对象上时才起作用(这是有意义的)

当鼠标位于按钮上方时(特别是当鼠标不在
面板
文本块
上方时),我不知道如何激活彩色动画

下面是一个按钮看起来正常的示例:

这是我聚焦
面板时按钮的外观:

这就是我对焦时按钮的样子(按钮背景与面板背景和文本块前景的颜色相同)

这就是鼠标放在按钮上时按钮的外观


试验
编辑1 我测试了艾哈迈德的代码,部分有效。当我的光标位于
按钮上时,数据触发器工作。但是当我离开它(IsMouseOver=false)时,
路径
填充
文本块
前景不会变回: OBS:我必须添加DataTrigger.entreactions以避免出现以下错误消息:

无法将“BeginStoryBoard”类型的值添加到集合或 类型为“SetterBaseCollection”的字典


添加绑定到文本/面板UI元素的DataTrigger,而不是EventTrigger

<DataTrigger Binding="{Binding RelativeSource={RelativeSource AncestorType=Button},Path=IsMouseOver}" Value="True">
    <BeginStoryboard>
         <Storyboard>
              <ColorAnimation Storyboard.TargetProperty="(Path.Fill).(SolidColorBrush.Color)" To="Gray" Duration="0:0:1"/>
         </Storyboard>
     </BeginStoryboard>
</DataTrigger>

other triggers for IsMouseOver being false ... 

IsMouseOver为false的其他触发器。。。

您可以对面板或文本块执行此操作,只需从按钮上移除触发器,当鼠标位于按钮上方时,它将触发文本/面板故事板。

对于Ahmad初始代码,我做了一些研究,发现了entreactionsExitActions属性。使用一个数据触发器,我可以在
IsMouseOver
True时定义我的动画



你好,艾哈迈德!谢谢你的回答我编辑了我的帖子,与艾哈迈德的建议分享代码结果,但它并没有像我预期的那样起作用。