<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"或其他就动画就没有效果呢???
改为PreviewMouseDown就行了,冒泡路由和隧道路由的基本概念
改为PreviewMouseDown可以哦。但是还不是很明白,先执行隧道路由,PreviewMouseDown事件就被触发,然后在冒泡路由,这样为啥MouseDown事件不会触发呢?????
@aggier: 重新回复一下啊。
冒泡路由:由事件源向上传递一直到根元素 MouseDown就不会触发事件
隧道路由:是从元素树的根部调用事件处理程序并依次向下深入直到事件源 PreviewMouseDown就会触发事件
question
(1) 冒泡路由:由事件源向上传递一直到根元素 当触发事件源的时候应该也触发MouseDown的,为啥没有效果呢??
(2) 那为啥Click 和MoseOver事件可以触发呢??这个是直接事件吗?????