0

Visual Studio 2010 のプロジェクトは、必要に応じて 2012 にアップグレードできます。ロゴのスプラッシュ スクリーンをアニメーション化したい。WPFを使用してこれを行うことができます。vb.net ビジュアル スタジオ プロジェクトの Windows フォームでその WPF アニメーションをホストできますか?

Blend で新しいプロジェクトを作成し、そのプロジェクトにユーザー コントロールを作成します。ロゴ画像を追加し、アニメーション化して保存しました。その Blend プロジェクトを Visual Studio ソリューションに取り込んで参照し、画像をリソースとして追加できます。フォーム上にパネルを作成し、コードで新しい ElementHost を作成してから、スプラッシュ画面の読み込みイベントで usercontrol xaml ファイルを子として設定しました。Windows フォームは表示されますが、画像は表示されず、もちろんアニメーションも表示されません。これもできますか?もしそうなら、どんなガイダンスも大歓迎です。

コード:

Imports System.Windows.Forms.Integration
Public Class wpfSplash
    Public splashElementHost As New ElementHost
    Public Logo As New WpfControlLibrary1.ApplicationLogo.ctlLogo

    Private Sub wpfSplash_Load(sender As Object, e As System.EventArgs) Handles Me.Load
        splashElementHost.Child = Logo
        splashElementHost.Location = New Point(13, 13)
        splashElementHost.Size = New Size(723, 644)
        pnlElementHost.Controls.Add(splashElementHost)
    End Sub
End Class
4

1 に答える 1

2

WinForms Element Host 内で WPF アプリケーションをホストしている場合、WinForms レンダリング エンジンによって制限されるため、実行できません。

WPF によってレンダリングされるアニメーションは、後で WinForms によって再度レンダリングする必要があり、アニメーションを処理できないことに注意してください。残念ながら、私は難しい方法を見つけました。

于 2013-05-22T16:10:16.443 に答える