Silverlight 4 で WebBrowser コントロールから画像にスムーズに移行するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/4852579

質問


私のページには次の XAML があります。

<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 を使用して 2 つの状態を設定し、スワップが行われる前に白い四角形をオーバーレイとして上に表示しようとしましたが、うまくいきませんでした (WebBrowser の上には何も配置できないためだと思います?)。 VSM を使用した画像コントロールとウェブブラウザ コントロールの可視化ですが、それも機能しませんでした。この単純なタスクを解決するために他に何を試すべきか本当にわかりません。

ご協力をよろしくお願いいたします。

役に立ちましたか?

解決

「スムーズな」トランジションを探している場合は、コントロールをフェードインおよびフェードアウトしてみてください。各オブジェクトの不透明度をアニメーション化します。たとえば、ViewBox の不透明度を 0 に設定し、画像の不透明度を 100 に設定します。次に、両方のオブジェクトの不透明度プロパティをアニメーション化します。

最終的には、あるオブジェクトから別のオブジェクトへのスムーズな移行が実現されます。

開始するには、次の MSDN 記事を参照してください。 アニメーション概要

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top