首页 新闻 会员 周边

wpf Storyboard EventName quesrtion

0
悬赏园豆:30 [待解决问题]

<Window
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity" xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions"
x:Class="WpfBoolPath.PragressBar"
x:Name="Window"
Title="PragressBar"
Width="640" Height="480">
  <Window.Resources>
  <Storyboard x:Key="Storyboard1">
    <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="        (RangeBase.Value)" Storyboard.TargetName="progressBar">
    <EasingDoubleKeyFrame KeyTime="0:0:1" Value="205"/>
    </DoubleAnimationUsingKeyFrames>
</Storyboard>
 </Window.Resources>
 

<Grid x:Name="LayoutRoot">
<Button Content="Button" HorizontalAlignment="Left" Height="48" Margin="120,104,0,0" VerticalAlignment="Top" Width="128" RenderTransformOrigin="0.5,1.333">
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<ei:ControlStoryboardAction Storyboard="{StaticResource Storyboard1}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
 <ProgressBar x:Name="progressBar" Height="16" Margin="96,192,0,0"     VerticalAlignment="Top" HorizontalAlignment="Left" Width="216"/>
</Grid>
</Window>

 

//当设置EventName="Click" 或是 EventName=“MouseOver”时候动画可以运行 
   为什么设置EventName="MouseDown"或其他就动画就没有效果呢???

aggier的主页 aggier | 初学一级 | 园豆:60
提问于:2013-06-17 11:46
< >
分享
所有回答(1)
0

改为PreviewMouseDown就行了,冒泡路由和隧道路由的基本概念

WuRang | 园豆:1730 (小虾三级) | 2013-06-17 15:09

改为PreviewMouseDown可以哦。但是还不是很明白,先执行隧道路由,PreviewMouseDown事件就被触发,然后在冒泡路由,这样为啥MouseDown事件不会触发呢?????

支持(0) 反对(0) aggier | 园豆:60 (初学一级) | 2013-06-17 23:19

@aggier: 重新回复一下啊。 
冒泡路由:由事件源向上传递一直到根元素    MouseDown就不会触发事件

隧道路由:是从元素树的根部调用事件处理程序并依次向下深入直到事件源   PreviewMouseDown就会触发事件

question

(1) 冒泡路由:由事件源向上传递一直到根元素 当触发事件源的时候应该也触发MouseDown的,为啥没有效果呢??

(2) 那为啥Click 和MoseOver事件可以触发呢??这个是直接事件吗?????

支持(0) 反对(0) aggier | 园豆:60 (初学一级) | 2013-06-18 00:31
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册