2011-07-21 15 views
0

我在wpf/c#中創建交互式幻燈片控件。我想創建類似於燈箱和封面的東西。C#在網格中切換可見性 - 慢速

我使用這個漸變效果:http://www.codeproject.com/Articles/57175/WPF-How-To-Animate-Visibility-Property/?display=Mobile

而這種代碼進行測試的CoverFlow:http://d3dal3.blogspot.com/2009/04/wpf-cover-flow-tutorial-part-7.html

一切工作正常,如果我在的CoverFlow不要多套......如果有一個以上5需要3-4秒鐘才能開始淡入淡出動畫(動畫可以)。但是,當我淡出此圖層,並再次淡入所有工作都完美時,如何重新啓動應用程序並希望淡入此元素時,我需要等待超過3秒4秒的動畫。看來WPF需要呈現(?)這個摺疊的元素,然後動畫開始......但是如何解決這個問題呢?

這裏是我的窗口代碼:

<Window> 
<Grid> 
. 
. 
. 
. other content 
<Border x:Name="panelLoading" Visibility="Collapsed" common:VisibilityAnimation.AnimationType="Fade"> 
     <Grid> 
      <Border Background="Black" Opacity="0.6"> 

      </Border> 
      <Grid> 

       <flow:FlowControl x:Name="flow" Margin="0" Width="1000" Height="800"></flow:FlowControl> 
      </Grid> 
     </Grid> 
    </Border> 
</Grid></Window> 

回答

0

如果我理解你的描述,我的猜測是,你加載所有圖片到內存中的窗口啓動。

您可以加載主線程中的第一個圖像,然後使用BackgroundWorker加載即將到來的圖像。

+0

http://d3dal3.blogspot.com/2009/04/wpf-cover-flow-tutorial-part-7.html - 在此代碼中,我使用了虛擬化 「我們做不要把所有的封面都留在記憶中記住第2部分的圖紙在給定的時間,我們只在當前封面的兩邊保留一些封面(在位置索引處),這意味着每次我們瀏覽封面時,我們創建並銷燬一個或多個封面如果我們沒有保留所有的封面,我們必須保留足夠的信息來重建封面:圖像文件路徑和位置,我們還需要記住當前構建的封面「... – radzio