0

UIをアニメーション化する正しい方法を見つけるのに苦労しています。私はこれら2つのことをどのように行うことができるかを知っていますが、私が思いついたすべてのソリューションは多くの(醜い)コードを意味し、より良い方法がなければなりません。

プロパティにバインドされている値をアニメーション化するための正しい、または最も「クリーンな」方法は何でしょうか。モデルにColorプロパティがあり、要素の背景色を定義しています。その色が変わったら、急に色が変わるのではなく、なめらかにしたいと思います。これをxamlで実行できるので、モデルはそれを認識する必要がありませんか?

クロスフェードはどうですか?現在、2つのコントロールを(グリッド内で)互いに重ねることでこれを実現しています。変更を開始するとき、I 1.element1の可視性をvisibleに設定します2.element1の不透明度を0から1に変更するアニメーションを開始します3.element2の不透明度を1から0に変更するアニメーションを開始します4.アニメーションが終了したら、 element2の可視性を折りたたみに設定します(すべてのマウスイベントをキャプチャしないようにするため)

ああ、そして(MVVM)アプリケーションはWinRT-apiを使用してC#とXAMLで書かれています

4

1 に答える 1

0

私はこれが非常に遅いことを理解していますが、将来これを見る人のために:

VisualStatesとVisualTransitionsを確認する必要があります。これらを使用すると、表示する状態(不透明度0または1など)、およびある状態から次の状態に移行するときに呼び出されるアニメーションを決定できます。実行は非常に簡単で、XAMLでほぼ排他的に実行できます(呼び出しを除くGoToState)。ただし、データの変更などの状態をトリガーできるBehaviorsなどの拡張機能を提供しているため、いくつかの拡張機能を確認することをお勧めします。

ここに基本的なVisualState/VisualTransisionのガイドがあります。

于 2014-02-06T18:45:01.307 に答える