初めてのWPF 2日目

2018/12/01 WPF::Prism

PrismモジュールにViewを追加する。

追加するViewのテンプレートはユーザーコントロール。
CashCalculator010.png

追加したViewにネームスペース等追加

ネームスペース http://prismlibrary.com/ を追加してViewModelLocator.AutoWireViewModelをTrueに。
xmlns:prism="http://prismlibrary.com/"
prism:ViewModelLocator.AutoWireViewModel="True"

ViewModelを作成

クラスを追加。publicに変更。
using Prism.Mvvm; を追加
BindableBaseを継承
モデルの中身はテンプレートでついてきたViewAViewModelを流用。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Prism.Mvvm;

namespace CashCalculator.ViewModels
{
    public class CashCalculatorViewModel : BindableBase
    {
        private string _message;
        public string Message
        {
            get { return _message; }
            set { SetProperty(ref _message, value); }
        }

        public CashCalculatorViewModel()
        {
            Message = "CashCalculator View from your Prism Module";
        }
    }
}

ViewにMessageの表示場所を追加

これもViewAのテキストボックスを流用
    <Grid>
        <TextBlock Text="{Binding Message}"
                       HorizontalAlignment="Center"
                       VerticalAlignment="Center" />            
    </Grid>

リージョンに表示するViewを切り替える

regionManager.RegisterViewWithRegion("ContentRegion", typeof(Views.CashCalculator));

表示を確認

CashCalculator020.png

OK キャンセル 確認 その他