Ejemplo n.º 1
0
        public IDisposable Subscribe(IObserver <T> observer)
        {
            PropertyChangedSimpleEventHandler evt = delegate { observer.OnNext(Value); };

            PropertyChanged += evt;
            return(Disposable.Create(() => PropertyChanged -= evt));
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Implementation of Microsoft's INotifyPropertyChanged
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="propertyName"></param>
        public virtual void OnPropertyChanged(object sender, string propertyName)
        {
            //PropertyChangedSimpleEventHandler handler = PropertyChanged;
            //if (handler != null)
            //    handler(sender, propertyName);

            //uFrame_kbe
            //UnityEngine.Debug.Log("CurrentThread.ManagedThreadId " + System.Threading.Thread.CurrentThread.ManagedThreadId);
            PropertyChangedSimpleEventHandler handler = PropertyChanged;

            if (handler != null)
            {
                if (System.Threading.Thread.CurrentThread.ManagedThreadId == 1)
                {
                    handler(this, propertyName);
                }
                else
                {
                    this.Aggregator.Publish(new ViewModelPropertyChangedEvent()
                    {
                        Handler      = handler,
                        Sender       = sender,
                        PropertyName = propertyName
                    });
                }
            }
            //
        }
        protected virtual void OnPropertyChanged(string propertyName)
        {
            PropertyChangedSimpleEventHandler eh = PropertyChanged;

            if (eh != null)
            {
                eh(this, propertyName);
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Implementation of Microsoft's INotifyPropertyChanged
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="propertyName"></param>
        public virtual void OnPropertyChanged(object sender, string propertyName)
        {
            PropertyChangedSimpleEventHandler handler = PropertyChanged;

            if (handler != null)
            {
                handler(sender, propertyName);
            }
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Implementation of Microsoft's INotifyPropertyChanged
        /// </summary>
        /// <param name="propertyName"></param>
        public virtual void OnPropertyChanged(string propertyName)
        {
            PropertyChangedSimpleEventHandler handler = PropertyChanged;

            if (handler != null)
            {
                handler(this, propertyName);
            }
        }
        public static Action SubscribeToProperty <TViewModel>(this TViewModel vm, string propertyName, Action <TViewModel> action) where TViewModel : ViewModel
        {
            PropertyChangedSimpleEventHandler handler = (sender, args) =>
            {
                action(sender as TViewModel);
            };;

            vm.PropertyChanged += handler;

            return(() => { vm.PropertyChanged -= handler; });
        }
Ejemplo n.º 7
0
        public IDisposable Subscribe(IObserver <IObservableProperty> observer)
        {
            PropertyChangedSimpleEventHandler propertyChanged = (sender, args) =>
            {
                var property = sender as IObservableProperty;
                //if (property != null)
                observer.OnNext(property);
            };

            PropertyChanged += propertyChanged;
            return(Disposable.Create(() => PropertyChanged -= propertyChanged));
        }
Ejemplo n.º 8
0
        public IDisposable Subscribe(IObserver <object> observer)
        {
            PropertyChangedSimpleEventHandler evt = (sender, name) => observer.OnNext(ObjectValue);

            PropertyChanged += evt;
            var disposer = Disposable.Create(() => PropertyChanged -= evt);

            if (Owner != null)
            {
                Owner.AddBinding(disposer);
            }
            return(disposer);
        }