質問

私は、メインウィンドウ上の絵コンテ一対の内外にアニメーション化されてユーザーコントロールを含む単純なWPFアプリケーションを持っています。私は、ビューの中と外にそれをポップするために、ユーザーコントロールの不透明度、scaletransform.scalexとscaletransform.scaleyをアニメーション化しています。それは最初に実行時間を除いてクールに見えます。私は私のテスト中にこれを増加しているもののアニメーションは、第二の3/10を取るように設定されています。私は予想通り、私はアニメーションてるのプロパティの値がデフォルトにされていない問題があるかどうかを確認するために、第2の中のほんの一部で、デフォルト値を設定しようとしました。それは何もしませんでした。私も、明示的にこれは私が私のデフォルト値を設定する助けになるかどうかを確認するためにロードされたウィンドウの上に私の「隠す」のアニメーションを呼び出すが、それはどちらか動作しませんでした。ランタイムは、私はアニメーションを発射初めてやっているいくつかの初期設定はありますか?私は明示的にUIを表示する前に初期化のようなものを呼び出すことができる方法はありますか?症状コントロールが約2/10最初のアニメーションに第二のまでも見えないということです。それは完全にアニメ化されています後に時々(それが最終的に現れたときに不透明度やサイズが最終的な値です)それは長いですし、コントロールが現れます。

役に立ちましたか?

解決

あなたが右のアニメーションの前に、ユーザーコントロールのDataContextのを設定しているように、

これが鳴ります。おそらくあなたは、ビジュアルオブジェクトを作成し、アニメーションを開始することになっていると同時に、ビジュアルツリーに追加され、起こって結合しています。これは、アニメーションがために戦っている処理が必要となります。これを回避する方法は、(DataContextのセットで)インスタンス化制御を持っていることですが、隠されたので、ビジュアルオブジェクトの作成は、アニメーションの時に実行する必要はありません。 (私の同僚のティム・リー経由)

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