問題タブ [storyboard]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - アニメーションの完了時にFrameworkElementsを削除する
私はSells/Griffithsの「ProgrammingWPF」を通じて自分自身にWPFを教えてきました。それは素晴らしいリソースだと思いましたが、彼らが紹介してくれた概念のいくつかを取り入れて、さらに一歩進んでいます。そして、私がやろうとしていることを達成するためにピースを組み合わせる方法について、概念的な問題に直面しています。
この演習では、自己終了アニメーションを作成しようとしています。FrameworkElement
■イベントによって作成され、アニメーションを実行してから、自分自身を削除します。FrameworkElement
Animation.Completedイベントから親にコールバックする方法を理解するのに問題があります。
DoubleAnimation
私はもともと、含まれておらず、の一部ではないを使用してこの質問をしましたStoryboard
。その後、を追加しStoryboard
、Storyboard
と長方形のリソースを作成して、簡単に再利用できるようにしました。
これが私がこれまでに持っているものです:
.xaml:
.cs:
これは機能しますが、私が望む方法ではありません。キャンバスは空であり、すべてのアニメーションは同じ長さであるため、アニメーションが終了すると、常にキャンバスの最初の子で呼び出されたものになります。
ただし、ランダムな時間のアニメーションを実装したいと思います。つまり、アニメーションは常に同じ順序で開始および終了するとは限りません。どういうわけか、SB_Completedイベントで、呼び出されていたコントロールにアクセスしたいのですが、まだパスが見つからないようです。
SB_Completedイベントを呼び出すMedia.Animation.ClockGroupから、アニメーションが呼び出されているコントロールに移動する方法はありますか?
c# - 1 つのプロパティに複数のストーリーボード
同じプロパティにアクセスする複数のストーリーボードがあります (同時にではありません)。1 つのストーリーボードがプロパティを変更した後、もう 1 つのストーリーボードはそれにアクセスできず、何も変更されないようです..これに対して何ができますか?
サンプル:
これは、私が作成できる最小のサンプル コードです。項目にカーソルを合わせた後、その項目が選択されても青色に変わりません (1 つの項目をクリックしてから、カーソルを合わせずに矢印キーを使用して項目を選択してみてください)。
wpf - WPF - スライダーの値をストーリーボードにデータバインドしますか?
音量コントロールを作成しようとしています。そのために、音量を視覚的にアニメーション化するストーリーボードを作成しました。そして、これを共通のスライダー コントロールの中に入れました。そして、スライダーの値をストーリーボードのタイムライン位置に直接データバインドしたいと思います。スライダーの値が 0 の場合、ストーリーボードは 00:00 など、一番上にある必要があります。これは可能ですか?
これはコントロールのコードです。ストーリーボード アニメーションはこちらにあります。
そして、次のようにキャンバスに配置されたコントロール自体:
wpf - WPFストーリーボードの再起動
.netコードからストーリーボードを停止して再起動する適切な方法は何ですか?
私はしようとしています ...
.Begin(this);への後続の呼び出しを期待します。タイムラインからゼロで再開しますが、代わりに、ストーリーボードは停止した場所から再開します。
私が試してみました
そして私は試しました
これも機能しませんでした。
詳細...これが私のストーリーボードのサンプルです。
したがって、textoneのテキストが実行され、画面を閉じてすぐに画面に戻ると、texttwoは実際に新しく開始されたストーリーボードで再生されます。そのため、元の(最初の画面からの)ストーリーボードは、削除して停止したにもかかわらず、まだ再生されています。
.net - WPF ストーリーボード初心者問題
私は最初の WPF アプリケーションを作成しており、フォームが閉じたときにフェード アニメーションを実装しようとしています。この質問に出くわしましたフェードアウトアニメーションを作成する方法を示していますが、それを機能させることができないようです。XAMLにこれがあります:
そして、次のイベント ハンドラーがあります。
しかし、sb.Begin()
メソッドが呼び出されると、次の例外が発生します。
述べたように、これは WPF での私の最初の試みであるため、フォームが閉じているときにフェードアウトを追加するために何をする必要があるかについてかなり混乱しています。
wpf - WPFアニメーションの最初の実行
メインウィンドウのストーリーボードのペアによってアニメーション化されたユーザーコントロールを含む単純なWPFアプリケーションがあります。ユーザーコントロールの不透明度、scaletransform.scalexおよびscaletransform.scaleyをアニメーション化して、ビューの内外にポップします。初めて実行する場合を除いて、見た目はかっこいいです。アニメーションは3/10秒かかるように設定されていますが、テスト中にこれを増やしました。アニメーション化するプロパティの値が期待どおりにデフォルト設定されないという問題があるかどうかを確認するために、数分の1秒でデフォルト値を設定しようとしました。それは何もしませんでした。ロードされたウィンドウで「非表示」アニメーションを明示的に呼び出して、これがデフォルト値の設定に役立つかどうかを確認しましたが、それも機能しませんでした。アニメーションを最初に起動したときにランタイムが実行している初期化はありますか?UIを表示する前にその種の初期化を明示的に呼び出す方法はありますか?症状は、最初のアニメーションの約2/10秒までコントロールが表示されないことです。場合によっては、より長くなり、完全にアニメーション化された後にコントロールが表示されます(不透明度とサイズは、最終的に表示されるときの最終的な値です)。
wpf - プロパティが変更される前に、再生するストーリーボードを定義できますか?
たとえば、特定の要素の可視性をオンまたはオフに設定しています。Visible に設定されている Visibility をリッスンし、要素にフェードインする Storyboard を再生する Trigger があります。
反対に、要素が非表示に設定されている場合、要素をフェードアウトさせ、プロパティを Visibility = false に設定します。これは可能ですか?現在、私は次のようなものを持っています:
wpf - ListboxItem が複数回ロードされました
トリガーが「ロード済み」であるリストボックス項目のストーリーボードにトリガーがあります。リストボックスがスクロールするたびに、アイテムが「Loaded」イベントを取得するようです。リストボックス項目が表示されたときに、ストーリーボードを一度だけ実行したいのです。
Loaded イベントは 1 回だけトリガーされると想定しました。
どんな助けでも素晴らしいでしょう。
ありがとう!
wpf - XAMLでリソースをアニメーション化する方法は?
XAMLドキュメントには、リソースとしてグラデーションブラシがあり、このリソースを使用する一連の図形があります。ストーリーボードを使用してブラシをアニメートしたいのですが、ストーリーボードのターゲットとしてリソースにブラシを設定する方法がわかりません。その名前を使用するだけでは機能せず、{StaticResourcename}も機能しません。それも可能ですか?
XAMLのみのソリューションが望ましいのですが、それでもうまくいかない場合は、コードビハインドを使用します。Storyboard.TargetとStoryboard.TargetPropertyを未割り当てのままにしておくことができる場合。
編集:ブラシのグラデーションストップをアニメーション化したいと思います。リソースではなく、オブジェクトに直接適用されている場合は、簡単にアニメーション化できます。ExpressionBlendをクリックすることでそれを行うことができます。リソースのときにアニメーション化する方法がわかりません(つまり、以下のコードの??の代わりに何を配置するか(ストーリーボードは長方形用に作成されています))
wpf - アニメーションをトリガーする
ダブルクリックしたときにズームインしたいというユーザーコントロールがあります(まだ拡大していない場合)。そうである場合は、ダブルクリックするとズームアウトします。コードビハインドで動作させることはできますが、xamlで動作させることはできません。そのハンドルのダブルクリックイベントの背後にあるコードは次のとおりです。
次に、私のxamlで:
ユーザーコントロールを拡大すると、ズームアウトアニメーションは機能しません。助けていただければ幸いです。
ありがとう。