UWPのアプリを作ろうとすると、まだテンプレートがBlankしか無いので、下準備をします。
今回はその普段やってる下準備の紹介。
環境はUWP+R#er+MVVMLight
1.まずプロジェクトを作った時の構成
2.次にViewフォルダとViewModelフォルダとCommonフォルダを作って、ViewModelEx.csとMainViewModel.csを作って、それぞれに配置
3.MainPage.xaml.csを開いて、namespaceにカーソルを当てて、alt+enterでR#erの機能でnamespaceを変更
4.nugetから、既存のパッケージの更新
5.mvvmlightを追加。あとは必要に応じてReactivePropertyとか使ったり
6.Commonに作ったViewModelExにINotifyPropertyChangedを継承
7.赤い波線がでるので、R#erの機能でPropertyChangedのイベントを生やす
8.R#erにAnnotationを作成してもらう
9.ViewModelBaseExに継承したINotifyPropertyChangedを外して、ViewModelBaseを継承
ようはAnnotationを作るためだけに一旦継承しただけ
10.MainViewModelにはViewModelBaseExを継承
11.こうしておくと、prop tab tabでプロパティを生やして、
12.alt + enterでOnPropertyChangedをつけてくれるようになる。
13.最後にMainPage.xamlに、デザイン用のデータコンテキストを設定
d:DataContext="{d:DesignInstance ViewModel:MainViewModel}"
すると、インテリセンスにプロパティが出てくるので便利
番外編.
毎回やるのはだるいので、「ファイル」から「テンプレートのエクスポート」をしておくと楽ですね。
テンプレート化したいプロジェクトを選んで、次へ
名前つけて完了
すると、「Visual C#」のタグにテンプレートが設置されます。
プロジェクトを作ると、よしなに名前が変わったプロジェクトができます。
とりあえずビルドして、nugetのパッケージの復元をします。
ビルドすると参照にmvvmlightが追加されているはずですが、ビルドは通るけど、参照が更新されない時もあって、コードが真っ赤になる時があります。
そんな時はVSを再起動するか、プロジェクトの再読み込みを試してください。