private void ReadWithMap(MyModel mm, ReferenceBindViewModelPB vm)
        {
            var mapper = Mapper;

            ReferenceBindViewModelPB tt = (ReferenceBindViewModelPB)mapper.MapToDestination(mm, vm);

            // Now try creating a new one from mm.
            ReferenceBindViewModelPB test = (ReferenceBindViewModelPB)mapper.MapToDestination(mm);
        }
        public ReferenceBindWindowPB_Simple()
        {
            _mapper = null;

            InitializeComponent();

            ReferenceBindViewModelPB rbvm = (ReferenceBindViewModelPB)this.DataContext;

            MyModel4 mod4 = new MyModel4()
            {
                MyString = "Start"
            };

            rbvm.SetIt <MyModel4>(mod4, "Deep");
        }
        private void BtnRead_Click(object sender, RoutedEventArgs e)
        {
            ReferenceBindViewModelPB vm = (ReferenceBindViewModelPB)this.DataContext;

            MyModel mm = new MyModel
            {
                ProductId = Guid.NewGuid(),
                Amount    = 38,
                Size      = 20.02
            };

            ReadWithMap(mm, vm);

            //if (vm == null)
            //{
            //    vm = GetNewViewModel();
            //    this.DataContext = vm;
            //}
        }
        private void BtnSave_Click(object sender, RoutedEventArgs e)
        {
            ReferenceBindViewModelPB m = (ReferenceBindViewModelPB)this.DataContext;

            if (m == null)
            {
                System.Diagnostics.Debug.WriteLine("The DataContext is null.");
                return;
            }

            int    amount     = m.GetIt <int>("Amount");
            double size       = m.GetIt <double>("Size");
            Guid   productId  = m.GetIt <Guid>("ProductId");
            double testDouble = m.GetIt <double>("TestDouble");
            string myString   = m.GetIt <MyModel4>("Deep")?.MyString;

            System.Diagnostics.Debug.WriteLine($"Amount = {amount}.");
            System.Diagnostics.Debug.WriteLine($"Size = {size}.");
            System.Diagnostics.Debug.WriteLine($"ProductId = {productId}.");
            System.Diagnostics.Debug.WriteLine($"TestDouble = {testDouble}.");
            System.Diagnostics.Debug.WriteLine($"Deep.MyString = {myString}.");
        }