1 comment

[ 4.3 ms ] story [ 10.8 ms ] thread
ObservableProperties are damn simple:

- declare in 1 line: StringProperty foo { get; } = new StringProperty("initialString")

- add lambda or delegate in 1 line: foo.ValueChanged += (s, e) => myLambda

- bind them in XAML: Text="{Binding foo.Value}"

- bind them with each other in 1 line: foo.Bind(bar), foo.BindBidirectional(bar)

- chain them for complex expression in 1 line: bool1.And(bool2).Not() or int1.Add(int2).IsGreaterThan(int3)

- Intellisense and documentation everywhere

- no code generation

- never implement INotifyPropertyChanged again

- ultra lightwheight, no dependency