public NestedExpressionVm()
            {
                this.nestedVm      = new ExpressionVm();
                this.nestedVmLight = new NestedVmLight();


                this.Monitor(nestedVm, v => v.Test).Notify(() => this.NestedVmText);
                this.Monitor(nestedVmLight, v => v.Text).Notify(() => this.NestedVmLightText);
            }
        public void ExpressionTest()
        {
            bool invoked = false;
            var  expVm   = new ExpressionVm();

            Assert.IsNotNull(expVm);
            expVm.PropertyChanged += (s, a) =>
            {
                if (a.PropertyName == nameof(expVm.TestString))
                {
                    invoked = true;
                }
            };

            // to invoke property changed
            expVm.Test = 42;

            Assert.IsTrue(invoked);
        }
 public MasterExpressionVm()
 {
     this.expressionVm = new ExpressionVm();
     this.expressionVm.Monitor(expressionVm, m => m.Test).Notify(() => this.TestString);
 }