我有一个带边框控件的wpf应用程序,其可见性绑定到viewmodel上的属性 .
控件显示和隐藏,如我所料,但我想添加一些动画,使显示和隐藏视觉更平滑 . 我正在考虑将控制器的宽度设置为0到250之间的动画 - 因此它给出了扩展/收缩的外观 .
我对混合的经验很少,所以不确定这是否是正确的方法,但是 - 我创建了一个故事板,对X进行了比例转换,然后尝试添加触发器来控制控件的可见性故事板..但是,我找不到可见事件添加到触发器 . 谁能指出我正确的方向?
您可以使用样式作为边框 . 但在这种情况下,您应该绑定到 IsEnabled 属性而不是 Visibility ,因为如果可见性发生更改,则opacitiy动画将无效 .
<Style x:Key="myBorder" TargetType="Border"> <Style.Triggers> <Trigger Property="IsEnabled" Value="False"> <Trigger.EnterActions> <BeginStoryboard> <Storyboard TargetProperty="Opacity"> <DoubleAnimation From="1" To="0" Duration="0:0:0.5" /> </Storyboard> </BeginStoryboard> </Trigger.EnterActions> <Trigger.ExitActions> <BeginStoryboard> <Storyboard TargetProperty="Opacity"> <DoubleAnimation From="0" To="1" Duration="0:0:0.5" /> </Storyboard> </BeginStoryboard> </Trigger.ExitActions> </Trigger> </Style.Triggers> </Style>
我希望这是有帮助的 .
Update
要缩小边框,可以使用 ThicknessAnimation 作为以前的代码示例 .
ThicknessAnimation
<Storyboard TargetProperty="BorderThickness"> <ThicknessAnimation From="1,1,1,1" To="0,0,0,0" Duration="0:0:0.5" /> </Storyboard>
1 回答
您可以使用样式作为边框 . 但在这种情况下,您应该绑定到 IsEnabled 属性而不是 Visibility ,因为如果可见性发生更改,则opacitiy动画将无效 .
我希望这是有帮助的 .
Update
要缩小边框,可以使用
ThicknessAnimation
作为以前的代码示例 .