示例#1
0
        private async void CSharpPropertyChanged(object sender, PropertyChangedEventArgs e)
        {
            var pn = e.PropertyName;
            var propertyAccessor = new PropertyAccessor(sender, pn, _Logger);

            if (!propertyAccessor.IsGettable)
            {
                return;
            }

            var currentfather = _SessionCache.GetCached(sender) as JsGenericObject;

            if (currentfather == null)
            {
                return;
            }

            var nv = propertyAccessor.Get();
            var oldbridgedchild = currentfather.Attributes[pn];

            if (Object.Equals(nv, oldbridgedchild.CValue))
            {
                return;
            }

            await RegisterAndDo(() => _JSObjectBuilder.UnsafelMap(nv), (child) => currentfather.ReRoot(pn, child));
        }