private void App_Startup(object sender, StartupEventArgs e) { var window = new View.DevMonWindow(); var devmonViewModel = new ViewModel.DevMonViewModel(); window.DataContext = devmonViewModel; this.MainWindow.Show(); }
/// <summary> /// アプリ起動時に呼ばれるイベント /// /// @image html app_sequence_001.png "アプリケーションの起動シーケンス" /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> #region シーケンス図生成用コメント // @startuml{app_sequence_001.png} // hide footbox // // participant App as app // // box "namespace:View" #80c7ff // participant DevMonWindow as window // participant ConnectorView as connectView // participant MonitorView as monitorView // end box // // box "namespace:ViewModel" #90ff80 // participant DevMonViewModel as devmonViewModel // participant ConnectorViewModel as connectViewModel // participant MonitorViewModel as monitorViewModel // end box // // box "namespace:CommonDriver" #ffd2a0 // participant ViewModel.IDriverViewModel as driverViewModel // participant View.DriverView as driverView // end box // // app -> app : App_Startup() // activate app // create window // app -> window : << new >> // create devmonViewModel // app -> devmonViewModel : << new >> // activate devmonViewModel // note right of devmonViewModel // 1. Driverフォルダ下のdllファイルを取得 // 2. dllファイル内のDriverInfoを取得 // 3. DriverInfoとAppのリースファイルをマージ // 4. リソースファイルを更新したのでDriverViewModel更新 // end note // devmonViewModel --> app // deactivate devmonViewModel // // deactivate devmonViewModel // app -> window : DataContext = View.DevMonWindow // app -> window : Show() // activate window // // group XAML 上での処理 // window -> devmonViewModel : SelectIndex // activate devmonViewModel // devmonViewModel --> window // deactivate devmonViewModel // // window -> window : ConnectorView のバインド // activate window // window -> devmonViewModel : ConnectorViewModel // activate devmonViewModel // create connectViewModel // devmonViewModel -> connectViewModel : << new >> // devmonViewModel --> window // deactivate devmonViewModel // // create connectView // window -> connectView : << new >> // deactivate window // // window -> window : DriverView のバインド // activate window // window -> devmonViewModel : DriverViewModel // activate devmonViewModel // create driverViewModel // devmonViewModel -> driverViewModel : << new >> // devmonViewModel --> window // deactivate devmonViewModel // // create driverView // window -> driverView : << new >> // deactivate window // // window -> window : MonitorViewModel のバインド // activate window // window -> devmonViewModel : MonitorViewModel // activate devmonViewModel // create monitorViewModel // devmonViewModel -> monitorViewModel : << new >> // devmonViewModel --> window // deactivate devmonViewModel // // create monitorView // window -> monitorView : << new >> // deactivate window // // end // // app <-- window : 表示完了 // deactivate window // deactivate app // // @enduml #endregion // シーケンス図生成用コメント private void App_Startup(object sender, StartupEventArgs e) { var window = new View.DevMonWindow(); var devmonViewModel = new ViewModel.DevMonViewModel(); window.DataContext = devmonViewModel; this.MainWindow.Show(); }