2012-07-11 70 views
0

我有我的代碼一個小問題:組合WPF DataTrigger和EventTrigger的不工作

<Style TargetType="{x:Type Grid}"> 
    <Setter Property="Visibility" Value="Collapsed"/> 
    <Style.Triggers> 
     <DataTrigger Binding="{Binding Status.IsObjectSaving}" Value="True"> 
      <Setter Property="Visibility" Value="Visible"/> 
     </DataTrigger> 
     <Trigger Property="Visibility" Value="Visible"> 
      <Trigger.EnterActions> 
       <BeginStoryboard> 
        <Storyboard> 
         <DoubleAnimation 
          Storyboard.TargetProperty = "Opacity" 
          From      ="1" 
          To       = "0" 
          BeginTime     = "0:0:0" 
          Duration     = "0:0:2" /> 
         <ObjectAnimationUsingKeyFrames 
          Storyboard.TargetProperty = "Visibility"> 
         <DiscreteObjectKeyFrame KeyTime="0:0:2" 
          Value="{x:Static Visibility.Collapsed}" /> 
         </ObjectAnimationUsingKeyFrames> 
        </Storyboard> 
       </BeginStoryboard> 
      </Trigger.EnterActions> 
     </Trigger> 
    </Style.Triggers> 
</Style> 

當我的對象將被保存,以便電網應該是開放的節目的一些信息。當我第一次啓動該程序時,它會工作,但第二次不起作用。所以我希望你能幫助我。

謝謝丹尼爾

p.s.對不起,我可怕的英語!


感謝您的回答!我試圖用下面的代碼設置值:

<DataTrigger Binding="{Binding Status.IsObjectSaving}" Value="True"> 
    <DataTrigger.EnterActions> 
     <BeginStoryboard> 
      <Storyboard> 
       <DoubleAnimation 
        Storyboard.TargetProperty = "Opacity" 
        From      = "0" 
        To       = "1" 
        BeginTime     = "0:0:0" 
        Duration     = "0:0:2" /> 
       <ObjectAnimationUsingKeyFrames 
        Storyboard.TargetProperty = "Visibility"> 
        <DiscreteObjectKeyFrame KeyTime="0:0:2" 
         Value="{x:Static Visibility.Visible}" /> 
       </ObjectAnimationUsingKeyFrames> 
      </Storyboard> 
     </BeginStoryboard> 
    </DataTrigger.EnterActions> 
    <DataTrigger.ExitActions> 
     <BeginStoryboard> 
      <Storyboard> 
       <DoubleAnimation 
        Storyboard.TargetProperty = "Opacity" 
        From      = "1" 
        To       = "0" 
        BeginTime     = "0:0:2" 
        Duration     = "0:0:2" /> 
       <ObjectAnimationUsingKeyFrames 
        Storyboard.TargetProperty = "Visibility"> 
        <DiscreteObjectKeyFrame KeyTime="0:0:2" 
         Value="{x:Static Visibility.Collapsed}" /> 
       </ObjectAnimationUsingKeyFrames> 
      </Storyboard> 
     </BeginStoryboard> 
    </DataTrigger.ExitActions> 
</DataTrigger> 

但它不工作。那麼你能幫我以正確的方式修改代碼嗎?

感謝

丹尼爾

回答

0

具有較高precedence動畫變化值,一旦能見度改變這樣的觸發器將無法對其進行修改。您可以用動畫替換setter(輸入和退出動作),這樣他們有相同的優先級。