public IDisposable Subscribe(IObserver <T> observer) { PropertyChangedSimpleEventHandler evt = delegate { observer.OnNext(Value); }; PropertyChanged += evt; return(Disposable.Create(() => PropertyChanged -= evt)); }
/// <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); } }
/// <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); } }
/// <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; }); }
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)); }
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); }