wpf中Button边框在只满足的条件下闪烁

fll7788 2014-09-17 09:18:30
我想做一个如标题所描述的Button,目前做出来了一部分,代码如下:
<Style TargetType="Button">
<Setter Property="Border.BorderThickness" Value="5" />
<Style.Triggers>
<DataTrigger Binding="{Binding Test}" Value="0">
<DataTrigger.EnterActions>
<BeginStoryboard Name="borderChangStoryboard">
<Storyboard>
<ColorAnimation Storyboard.TargetProperty="BorderBrush.Color" From="Red" To="Pink" AutoReverse="True" RepeatBehavior="Forever"></ColorAnimation>
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
<DataTrigger.ExitActions>
<StopStoryboard BeginStoryboardName="borderChangStoryboard"></StopStoryboard>
</DataTrigger.ExitActions>
</DataTrigger>
</Style.Triggers>
</Style>

不知道为什么Border.BorderThickness的设置不成功,闪烁的时候边框很小,根本看不清楚。
有什么好的办法没有?
...全文
316 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
icetee0702 2014-09-19
  • 打赏
  • 举报
回复
引用 4 楼 fll7788 的回复:
[quote=引用 2 楼 icetee0702 的回复:] ColorAnimation 好像不支持Border.BorderThickness变换吧,颜色可以,貌似加粗什么的应该不可以,你可以把粗细变换写到trigger事件里面
我把效果改了,代码如下: <Style x:Key="thicknessButton" TargetType="Button"> <Style.Triggers> <DataTrigger Binding="{Binding Test}" Value="0"> <DataTrigger.EnterActions> <BeginStoryboard Name="borderChangStoryboard"> <Storyboard> <ColorAnimation Storyboard.TargetProperty="BorderBrush.Color" From="Red" To="Pink" AutoReverse="True" RepeatBehavior="Forever"></ColorAnimation> <ThicknessAnimation Storyboard.TargetProperty="BorderThickness" From="1,1,1,1" To="28,14,28,14" AutoReverse="True" RepeatBehavior="Forever"></ThicknessAnimation> </Storyboard> </BeginStoryboard> </DataTrigger.EnterActions> <DataTrigger.ExitActions> <StopStoryboard BeginStoryboardName="borderChangStoryboard"></StopStoryboard> </DataTrigger.ExitActions> </DataTrigger> </Style.Triggers> </Style> 效果还是一样,我设置的ThicknessAnimation根本不起作用![/quote]5楼大神已经给出代码!
exception92 2014-09-19
  • 打赏
  • 举报
回复
引用 5 楼 duanzi_peng 的回复:
样式:
记得结贴。
exception92 2014-09-19
  • 打赏
  • 举报
回复

样式:
fll7788 2014-09-18
  • 打赏
  • 举报
回复
引用 2 楼 icetee0702 的回复:
ColorAnimation 好像不支持Border.BorderThickness变换吧,颜色可以,貌似加粗什么的应该不可以,你可以把粗细变换写到trigger事件里面
我把效果改了,代码如下: <Style x:Key="thicknessButton" TargetType="Button"> <Style.Triggers> <DataTrigger Binding="{Binding Test}" Value="0"> <DataTrigger.EnterActions> <BeginStoryboard Name="borderChangStoryboard"> <Storyboard> <ColorAnimation Storyboard.TargetProperty="BorderBrush.Color" From="Red" To="Pink" AutoReverse="True" RepeatBehavior="Forever"></ColorAnimation> <ThicknessAnimation Storyboard.TargetProperty="BorderThickness" From="1,1,1,1" To="28,14,28,14" AutoReverse="True" RepeatBehavior="Forever"></ThicknessAnimation> </Storyboard> </BeginStoryboard> </DataTrigger.EnterActions> <DataTrigger.ExitActions> <StopStoryboard BeginStoryboardName="borderChangStoryboard"></StopStoryboard> </DataTrigger.ExitActions> </DataTrigger> </Style.Triggers> </Style> 效果还是一样,我设置的ThicknessAnimation根本不起作用!
exception92 2014-09-18
  • 打赏
  • 举报
回复
根本看不清楚 是有效果看不清楚 还是没效果?
fll7788 2014-09-18
  • 打赏
  • 举报
回复
引用 1 楼 duanzi_peng 的回复:
根本看不清楚 是有效果看不清楚 还是没效果?
是有边框,但是很细,闪烁的时候效果是看不清楚的,所以我以往使用borderthickness把边框加粗,是边框闪烁,这样就能清楚一些,可是现在做不到。
icetee0702 2014-09-18
  • 打赏
  • 举报
回复
ColorAnimation 好像不支持Border.BorderThickness变换吧,颜色可以,貌似加粗什么的应该不可以,你可以把粗细变换写到trigger事件里面

8,735

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧