2011-01-31 66 views
0


我有我的網頁上下面的XAML代碼:如何在Silverlight 4中從WebBrowser控件平滑過渡到圖像?

<Grid x:Name="LayoutRoot"> 
     <Viewbox Stretch="Uniform"> 
     <Image x:Name="myImage" /> 
    </Viewbox> 
    <WebBrowser x:Name="myBrowser" /> 
</Grid> 

,然後在代碼隱藏我切換圖像和瀏覽器內容之間的可見性:

myBrowser.Visibility = Visibility.Collapsed; 
      myImage.Source = new BitmapImage(new Uri(p)); 
      myImage.Visibility = Visibility.Visible; 

myImage.Visibility = Visibility.Collapsed; 
      myBrowser.Source = new Uri(myPath + p, UriKind.Absolute); 
      myBrowser.Visibility = Visibility.Visible; 

這工作得很好,但客戶現在想要的是當圖像顯示瀏覽器時顯示。我嘗試了幾種方法,但總是陷入死衚衕。你有什麼想法?

我嘗試使用VSM設置兩個狀態,而不是在交換髮生之前在頂部顯示一個白色矩形作爲疊加層,但這並不起作用(我猜這是因爲沒有任何東西可以放在WebBrowser之上?)我嘗試使用VSM設置圖像控件和網頁瀏覽器控件的可見性,但這也不起作用。我真的不知道還有什麼可以嘗試解決這個簡單的任務。

任何幫助,非常感謝。

回答

0

如果你正在尋找一個「平滑」的過渡,你可能想嘗試淡入淡出控制。動畫每個對象的不透明度。例如,將ViewBox的不透明度設置爲零,並將圖像的不透明度設置爲100.然後爲兩個對象的不透明屬性設置動畫。

最終結果將是從一個對象到另一個對象的平滑過渡。

這是一個MSDN文章,以幫助您開始:Animation Overview

+0

嗨,謝謝你的回答。我試圖轉換的兩個對象是Image和WebBrowser。這似乎是問題:WebBrowser不允許我動畫不透明度(至少我不能讓它工作)。它也不允許我在其上繪製任何東西(據我所知,現在用SL4是不可能的)。 – Trex 2011-01-31 15:57:24