我有一個WPF用戶控件成立於XAML與下面的觸發器:WPF焦點動畫不能正常工作
<UserControl.Triggers>
<EventTrigger RoutedEvent="GotFocus">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation To="1.5" Storyboard.TargetName="ImageContent" Storyboard.TargetProperty="RenderTransform.Children[1].ScaleX" Duration="0:0:0.8" />
<DoubleAnimation To="1.5" Storyboard.TargetName="ImageContent" Storyboard.TargetProperty="RenderTransform.Children[1].ScaleY" Duration="0:0:0.8" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
<EventTrigger RoutedEvent="LostFocus">
<BeginStoryboard>
<Storyboard>
<DoubleAnimation To="1" Storyboard.TargetName="ImageContent" Storyboard.TargetProperty="RenderTransform.Children[1].ScaleX" Duration="0:0:0.8" />
<DoubleAnimation To="1" Storyboard.TargetName="ImageContent" Storyboard.TargetProperty="RenderTransform.Children[1].ScaleY" Duration="0:0:0.8" />
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</UserControl.Triggers>
動畫工作正常,但不幸的是,觸發器的arent按預期工作。 GotFocus觸發器只會觸發如果我右鍵單擊我的控件或如果我單擊UserControl中包含的按鈕。
我已經爲代碼中的GotFocus事件創建了一個EventHandler,這似乎在正確的位置觸發。
編輯:如果我把它改爲火的MouseEnter /離開它也按預期工作
EDIT2:我foudn,這一行爲浮出水面,因爲控制獲得焦點,但再次失去焦點的時候了。我通過添加一些代碼來修復它,該代碼檢查Event的來源是UserControl還是其他。
任何暗示,爲什麼發生這種情況將不勝感激。
我對你的Edit2有點困惑。你是說你找到了原因並解決了它? – 2010-12-02 15:03:52