Max Katz
bd3bb6e47e
Check if BindingValue actually has a value
4 years ago
Steven Kirk
5763a914fe
Remove generics from IAvaloniaObject.
4 years ago
Steven Kirk
76667dbd0d
Finished adding nullable annotations to Avalonia.Base.
4 years ago
Steven Kirk
dc3415c090
Nullable annotations for AvaloniaObject/AvaloniaProperty etc. ( #7078 )
* Add nullable annotations...
...to `AvaloniaObject`/`AvaloniaProperty`-related classes and a few other uncontroversial files.
* Check for null before first use.
* Don't need this check as base class does it.
4 years ago
Dariusz Komosinski
11e2d9250c
Reduce memory pressure when using bindings.
5 years ago
Steven Kirk
479d480ad9
Parameterize logger on area as well as level.
So we can filter our more logging calls early.
6 years ago
Steven Kirk
4d01dacd77
Remove copyright headers.
Some of our files had them, some didn't. They serve no purpose legally so best to remove the ceremony.
6 years ago
Steven Kirk
18537addd7
Fix problems with setter binding priorities.
We need to make sure to set up the bindings as soon as the setter is instanced, even if it's not activated immediately.
6 years ago
Steven Kirk
3a80cee3fc
Add nullability annotations.
6 years ago
Steven Kirk
c2d5f62390
Avoid boxing if property is correct type.
For typed bindings, we'll have an `AvaloniaPropertyChangedEventArgs<T>` where `T` is the same as the type of the `AvaloniaPropertyObservable`. For non-typed bindings we'll have `object` as `T` so use the non-typed `AvaloniaProperty`.
6 years ago
Steven Kirk
1ff6e35a06
Disable nullable around generic T.
Compiler warns that `_value` is potentially null, but it can be a value or refernce type.
6 years ago
ahopper
f7c644eb75
whitespace
6 years ago
ahopper
35ee4f7976
Reduce calls to ToArray in PublishNext
6 years ago
Steven Kirk
60422d621b
Handle GetBindingObservable<object>().
6 years ago
Steven Kirk
49b91d129d
Fix stack overflow.
Don't believe the new value given to us in the `AvaloniaPropertyChangedEventArgs`: it may have already changed. Instead, read the current value of the property from the object.
6 years ago
Steven Kirk
6be3acb46c
Make ValueStore typed.
Major refactor of the Avalonia core to make the styled property store typed.
6 years ago
Jumar Macato
ee1a8ee30f
Make a specialized observable for instance lifetime handling. Delete DisposeOnNextObservable.
8 years ago
Jumar Macato
74c8cedde9
Try fixing the sporadic Bindings Exceptions.
8 years ago
Jumar Macato
a8d4c8d799
Add a new Disposable Extention.
8 years ago
Jeremy Koritzinsky
f2ba884e0a
Cleanup logic in LightweightObservableBase.
8 years ago
Steven Kirk
ef5be70c4b
Don't double-check nulls.
8 years ago
Steven Kirk
365aa42b4a
Use custom rx for binding update signal.
8 years ago
Dávid Karnok
360a2603c3
Fix LightweightObservableBase's concurrency, save 1 allocation.
8 years ago
Steven Kirk
3150d3f10a
Added GetPropertyChangedObservable.
Replaced `GetObservableWithHistory` with `GetPropertyChangedObservable`.
8 years ago
Steven Kirk
34474af835
Make AvaloniaPropertyObservable use weak refs.
And remove `WeakPropertyChangedObservable`/`GetWeakObservable`.
8 years ago
Steven Kirk
0f1664a846
Use custom rx for observing properties.
8 years ago
Steven Kirk
dadc30d84e
Use lightweight observable for ExpressionObserver.
8 years ago
Steven Kirk
29eafc6be2
Added LightweightObservableBase class.
And use it for `ActivatedValue`.
8 years ago
Jeremy Koritzinsky
da8267ade7
Fix last binding test. Two-way bindings via the indexer binding should not cause a PriorityBindingEntry to be created in the target. So instead use SetValue + GetObservable (similar to our higher level implementations in Avalonia.Markup).
9 years ago
Steven Kirk
5be41985c3
Renamed Perspex -> Avalonia
10 years ago