0

私の WPF アプリケーションのメイン ウィンドウには、アプリケーションの存続期間中存続するタイトル バー/ナビゲーション領域があり、その後、ほとんどのユーザー操作が行われるワークスペース領域があります。(これはすべて MVVM パターンの精神でコーディングされており、コード ビハインドに対して過度の嫌悪感を抱いている可能性があります: ContentPresenter/ ) 私のコードでは、このプロパティはfrom where を上げることで更新されます。MainWindowViewModelISomeArbitraryVMInterfaceDomainEvent

以上のことをすべて述べた後、DomainEventが起動されて のコンテンツContentPresenterが変更されたときにContentPresenter、 の不透明度をアニメーションで変更したいと考えています。ユーザーの観点からは、現在のビューがフェードアウトするように見せたいのですが新しいでContentPresenter更新され、ISomeArbitraryVMInterface新しいビューに対応する新しいビューISomeArbitraryVMInterfaceがフェードインします。

私が最初に考えたのは、Content プロパティが変更されるたびに ViewModel にイベントを発生させるDomainEventことでした。その後、実装を既に行っていることに気付きましたが、View にイベントを「リッスン」させる方法が思いつきませんでした。その後、同期的にフェードアウト/更新/フェードインします。この種の問題を解決するための洞察をいただければ幸いです。洗練された解決策がある場合は、後世のためにいくつかのコード スニペットを投稿します。

4

1 に答える 1

2

AnimatedTransitionは、あなたが求めているものです。

または、Visual State Managerといくつかのビヘイビアーを使用して独自にロールし、DomainEventでトリガーして、さまざまなフェード状態に移動できる場合があります。

他のいくつかの答え:

于 2012-07-25T19:36:47.020 に答える