私の WPF アプリケーションのメイン ウィンドウには、アプリケーションの存続期間中存続するタイトル バー/ナビゲーション領域があり、その後、ほとんどのユーザー操作が行われるワークスペース領域があります。(これはすべて MVVM パターンの精神でコーディングされており、コード ビハインドに対して過度の嫌悪感を抱いている可能性があります: ContentPresenter
/ ) 私のコードでは、このプロパティはfrom where を上げることで更新されます。MainWindowViewModel
ISomeArbitraryVMInterface
DomainEvent
以上のことをすべて述べた後、DomainEvent
が起動されて のコンテンツContentPresenter
が変更されたときにContentPresenter
、 の不透明度をアニメーションで変更したいと考えています。ユーザーの観点からは、現在のビューがフェードアウトするように見せたいのですが新しいでContentPresenter
更新され、ISomeArbitraryVMInterface
新しいビューに対応する新しいビューISomeArbitraryVMInterface
がフェードインします。
私が最初に考えたのは、Content プロパティが変更されるたびに ViewModel にイベントを発生させるDomainEvent
ことでした。その後、実装を既に行っていることに気付きましたが、View にイベントを「リッスン」させる方法が思いつきませんでした。その後、同期的にフェードアウト/更新/フェードインします。この種の問題を解決するための洞察をいただければ幸いです。洗練された解決策がある場合は、後世のためにいくつかのコード スニペットを投稿します。