Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WPF TabControl动画,如何将背景从活动tabItem移动到鼠标悬停的tabItem_Wpf_Animation_Background - Fatal编程技术网

WPF TabControl动画,如何将背景从活动tabItem移动到鼠标悬停的tabItem

WPF TabControl动画,如何将背景从活动tabItem移动到鼠标悬停的tabItem,wpf,animation,background,Wpf,Animation,Background,实际上,这个问题与关于TabControl动画的许多类似问题不同。我没能在他们中间找到一个有用的解决办法 场景1:TabItem1是选定的蓝色背景的TabItem,然后是白色背景的tabItem2和tabItem3。现在,我将鼠标移到tabItem3上。我想要一个动画将蓝色背景从tabItem1跨tabItem2“移动”到tabItem3,这意味着在动画过程中,存在tabItem2具有蓝色背景的帧 场景2:场景1我将鼠标移出后,蓝色背景会冲回选定的选项卡项 许多网页在菜单栏上使用这种效果,比如这

实际上,这个问题与关于TabControl动画的许多类似问题不同。我没能在他们中间找到一个有用的解决办法

场景1:TabItem1是选定的蓝色背景的TabItem,然后是白色背景的tabItem2和tabItem3。现在,我将鼠标移到tabItem3上。我想要一个动画将蓝色背景从tabItem1跨tabItem2“移动”到tabItem3,这意味着在动画过程中,存在tabItem2具有蓝色背景的帧

场景2:场景1我将鼠标移出后,蓝色背景会冲回选定的选项卡项

许多网页在菜单栏上使用这种效果,比如这个网站


注意菜单项上方的蓝线。这绝对是我想要的动画。在WPF中有可能吗?

是的,这很容易实现,你已经尝试过了吗?很抱歉,我在WPF中是一个新手,只有几天的xaml经验。我不认为只有xaml才能实现。我试着把整个动画分成几个部分。在后台代码中,我会反复运行动画,将背景移动到下一个TabItem,直到背景到达目标TabItem。我尝试使用ColorAnimation来实现这个动画单元,但被如何为两个选项卡项编写动画所阻止。我怀疑这太复杂了,因为在flash中,我们可以使用遮罩层来实现这一点。如果您的选项卡数量固定,那么您可以为每个选项卡指定x:Name,并在xaml中完成所有操作。