2011-05-24 82 views
1

我有以下代碼:WPF窗口淡入不起作用

<Window.Background> 
    <SolidColorBrush Opacity="0.7" Color="White" x:Name="BackgroundBrush"></SolidColorBrush> 
</Window.Background> 
<Window.Triggers> 
    <EventTrigger RoutedEvent="Loaded"> 
     <EventTrigger.EnterActions> 
      <BeginStoryboard> 
       <Storyboard> 
        <DoubleAnimation Storyboard.TargetProperty="Opacity" To="1" Duration="0:0:5" Storyboard.TargetName="BackgroundBrush" From="0.7"> 
        </DoubleAnimation> 
       </Storyboard> 
      </BeginStoryboard> 
     </EventTrigger.EnterActions> 
    </EventTrigger> 
</Window.Triggers> 

但是什麼都沒有發生顯示窗口時。爲什麼?

回答

1

除了H.B.說,您需要將您的BeginStoryboard添加到EventTrigger.Actions集合,而不是EnterActions集合。所以這個工程:

<Window.Background> 
    <SolidColorBrush Opacity="0.7" Color="White" x:Name="BackgroundBrush"></SolidColorBrush> 
</Window.Background> 
<Window.Triggers> 
    <EventTrigger RoutedEvent="Loaded"> 
     <EventTrigger.Actions> 
      <BeginStoryboard> 
       <Storyboard> 
        <DoubleAnimation Storyboard.TargetProperty="Opacity" To="1" Duration="0:0:5" Storyboard.TargetName="BackgroundBrush" From="0.7"> 
        </DoubleAnimation> 
       </Storyboard> 
      </BeginStoryboard> 
     </EventTrigger.Actions> 
    </EventTrigger> 
</Window.Triggers> 
2
  1. 您必須爲窗口本身的不透明度設置動畫,而不是背景。
  2. 您需要將AllowsTransparency設置爲true,這也需要將WindowStyle設置爲None。 (您需要創建自己的標準窗口按鈕)
+0

AllowsTransparency是真實的,WindowStyle爲None但即使這樣的代碼:<樣式的TargetType = 「窗口」 X:鍵= 「MWindow」> <觸發屬性=「IsMouseOver 「值=」 真 「> 不起作用 – 2011-05-24 16:50:06