Prism の公式サンプル を動かしてみました。
ソースを見ただけではイメージが付きにくいので画面をキャプションしておきます。
動作させた環境
Windows 10
Microsoft Visual Studio Community 2019
01-BootstrapperShell
基本的なブートストラップとシェルを作成する
Topic : Bootstrapper and the Shell
Description : Create a basic bootstrapper and shell
02-Regions
リージョンを作成する
Topic : Regions
Description : Create a region
03-CustomRegions
StackPanelのカスタムリージョンアダプターを作成する
Topic : Custom Region Adapter
Description : Create a custom region adapter for the StackPanel
04-ViewDiscovery
View Discoveryでビューを自動的に注入する
Topic : View Discovery
Description : Automatically inject views with View Discovery
05-ViewInjection
ビューインジェクションを使用して手動でビューを追加および削除する
Topic : View Injection
Description : Manually add and remove views using View Injection
06-ViewActivationDeactivation
ビューを手動でアクティブ化および非アクティブ化する
Topic : View Activation/Deactivation
Description : Manually activate and deactivate views
07-Modules - AppConfig
App.configファイルを使用してモジュールをロードする
Topic : Modules with App.config
Description : Load modules using an App.config file
07-Modules - Code
コードを使用してモジュールをロードする
Topic : Modules with Code
Description : Load modules using code
07-Modules - Directory
ディレクトリからモジュールをロードする
Topic : Modules with Directory
Description : Load modules from a directory
07-Modules - LoadManual
IModuleManagerを使用して手動でモジュールを読み込む
Topic : Modules loaded manually
Description : Load modules manually using the IModuleManager
08-ViewModelLocator
ViewModelLocatorの使用
Topic : ViewModelLocator
Description : using the ViewModelLocator
09-ChangeConvention
ViewModelLocatorの命名規則を変更する
Topic : ViewModelLocator - Change Convention
Description : Change the ViewModelLocator naming conventions
10-CustomRegistrations
特定のビューのViewModelを手動で登録する
Topic : ViewModelLocator - Custom Registrations
Description : Manually register ViewModels for specific views
11-UsingDelegateCommands
DelegateCommandおよびDelegateCommand を使用する
Topic : DelegateCommand
Description : Use DelegateCommand and DelegateCommand
12-UsingCompositeCommands
CompositeCommandsを使用して複数のコマンドを単一のコマンドとして呼び出す方法を学ぶ
Topic : CompositeCommands
Description : Learn how to use CompositeCommands to invoke multiple commands as a single command
13-IActiveAwareCommands
コマンドをアクティブにして、アクティブなコマンドのみを呼び出す
Topic : IActiveAware Commands
Description : Make your commands IActiveAware to invoke only the active command
14-UsingEventAggregator
IEventAggregatorの使用
Topic : Event Aggregator
Description : Using the IEventAggregator
15-FilteringEvents
イベントをサブスクライブするときのイベントのフィルタリング
Topic : Event Aggregator - Filter Events
Description : Filtering events when subscribing to events
[Send Message]ボタンをクリックしても変化は認められない
16-RegionContext
RegionContextを使用してネストされた領域にデータを渡す
Topic : RegionContext
Description : Pass data to nested regions using the RegionContext
17-BasicRegionNavigation
基本的なリージョンナビゲーションの実装方法を見る
Topic : Region Navigation
Description : See how to implement basic region navigation
[Navigate to View A]ボタンをクリックすると
[Navigate to View B]ボタンをクリックすると
18-NavigationCallback
ナビゲーションが完了したときに通知を受け取る
Topic : Navigation Callback
Description : Get notifications when navigation has completed
[Navigate to View A]ボタンをクリックすると
[Navigate to View B]ボタンをクリックすると
19-NavigationParticipation
INavigationAwareによるViewおよびViewModelナビゲーションへの参加について学ぶ
Topic : Navigation Participation
Description : Learn about View and ViewModel navigation participation with INavigationAware
[Navigate to View A]ボタンをクリックすると
もう一度[Navigate to View A]ボタンをクリックすると
[Navigate to View B]ボタンをクリックすると
20-NavigateToExistingViews
ナビゲーション中にビューインスタンスを制御する
Topic : Navigate to existing Views
Description : Control view instances during navigation
[Navigate to View A]ボタンをクリックすると
もう一度[Navigate to View A]ボタンをクリックすると
[Navigate to View B]ボタンをクリックすると
21-PassingParameters
View / ViewModelから別のView / ViewModelにパラメーターを渡す
Topic : Passing Parameters
Description : Pass parameters from View/ViewModel to another View/ViewModel
22-ConfirmCancelNavigation
インターフェイスを使用してナビゲーションを確認またはキャンセルする
Topic : Confirm/cancel Navigation
Description : Use the IConfirmNavigationReqest interface to confirm or cancel navigation
[Navigate to View A]ボタンをクリックすると
[Navigate to View B]ボタンをクリックすると
23-RegionMemberLifetime
IRegionMemberLifetimeでメモリからビューを自動的に削除する
Topic : Controlling View lifetime
Description : Automatically remove views from memory with IRegionMemberLifetime
[Navigate to View A]ボタンをクリックすると
[Navigate to View B]ボタンをクリックすると
24-NavigationJournal
ナビゲーションジャーナルの使用方法を学ぶ
Topic : Navigation Journal
Description : Learn how to use the Navigation Journal
25-NotificationRequest
InteractionRequestを使用してポップアップを表示する方法を学ぶ
Topic : Interactivity - NotificationRequest
Description : Learn how to show popups using an InteractionRequest
[Raise Default Notification]ボタンをクリックすると
26-ConfirmationRequest
ConfirmationRequestを使用して確認ダイアログを表示する方法を学ぶ
Topic : Interactivity - ConfirmationRequest
Description : Learn how to prompt a confirmation dialog using a ConfirmationRequest
[Raise Default Notification]ボタンをクリックすると
[Raise Default Confirmation]ボタンをクリックすると
27-CustomContent
InteractionRequestで表示されるダイアログに独自のコンテンツを使用する方法を学ぶ
Topic : Interactivity - Custom Content
Description : Learn how to use your own content for a dialog shown with InteractionRequest
[Raise Default Notification]ボタンをクリックすると
[Raise Default Confirmation]ボタンをクリックすると
[Raise Custom Popup]ボタンをクリックすると
28-CustomRequest
InteractionRequestで使用する独自のカスタムリクエストを作成する
Topic : Interactivity - Custom Request
Description : Create your own custom request to use with an InteractionRequest
[Raise Default Notification]ボタンをクリックすると
[Raise Default Confirmation]ボタンをクリックすると
[Raise Custom Popup]ボタンをクリックすると
[Raise Custom Interaction]ボタンをクリックすると
ListBox から Item を選択して [Select Item]ボタンをクリックすると
29-InvokeCommandAction
任意のイベントに応答してコマンドを呼び出す
Topic : Interactivity - InvokeCommandAction
Description : Invoke commands in response to any event