2009-09-04 6 views
8

私のプロジェクトでは、窓を閉じてトレイに送ります。これは、現在のウィンドウの位置からトレイへの移動をどのようにアニメーション効果を与えることができますか?また、逆に、トレーの中のnotifyiconをダブルクリックすると、ウィンドウが前面に来ていますか?トレイから窓の動きを動かす

答えて

1

私はWPFであまり成果を上げていないので、心に留めてください。

(それはいくつかの落とし穴を強調して読む価値が)あなたがカプセル化し、何かを構築できる。これは、VB2005 here

を変換された

hereを説明するように、これはDrawAnimatedRectsを使用して、WindowsのAPIを介して行うことができるようですこの機能は少しハッキリしています。さらに、私はWPFプロジェクトからAPIに直接アクセスしようとはしていませんでした。可能性はあると思いますが、保証することはできません。

次に、Windows® API Code Pack for Microsoft® .NET Frameworkを調べることをおすすめします。私はこれをまだ掘り下げる機会はありませんでしたが、管理された方法で機能を公開する可能性があります。

要するに、この機能を含む他のアプリは、フレームワークに頼るのではなく、APIを使用して処理するようです。

0

couplearticlesは、ウィンドウをシステムトレイにアニメーション表示することを示していますが、WPFを使用していませんが、正しい方向を指すはずです。

0

トレイアイコンがダブルクリックされたときにウインドウをアニメーション表示するのは、実際にはWPFアニメーションやストーリーボードを作成してマウスの現在の位置(トレイアイコンの右端)からウインドウを画面上で欲しい。

リサイズと不透明アニメーションを追加すると、素晴らしい結果が得られます(複数のアニメーションが一緒に実行されている場合はストーリーボードを使用します)。

ウィンドウのアニメーションをトレイアイコンに戻すことは、トレイのアイコンの一般的な方向にウィンドウを最小限に抑えるように、正確な位置がわからないため少し難しいですそれがそこにまたは他の方法で回る前に。

トレイアイコンをクリックして最初にウィンドウを開くときの位置を保存したり、Windows APIを使用して実際の位置を取得しようとすることもできますが、これはお勧めしません。

幸運。

0

あなたの質問への迅速な答えは、はWP30を使用してできません。 WPFが表示しているウィンドウのクロムの内側にWPFが存在し、クロムをアニメートしようとしているのはなぜですか。

達成しようとしているアニメーションは実行できますが、実行するにはWindows API呼び出しを使用する必要があります。 Basiclifeの提案は始めるのに最適な場所です

関連する問題