2010-07-04 100 views
0

我有一個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還是其他。

任何暗示,爲什麼發生這種情況將不勝感激。

+0

我對你的Edit2有點困惑。你是說你找到了原因並解決了它? – 2010-12-02 15:03:52

回答

0

在UserControl上嘗試設置Focusable =「True」。

+0

謝謝,但我已經做到了 – 2010-07-05 08:54:09