Takoooooo
8e57d0b7c6
Fix bindings to Types.
4 years ago
Steven Kirk
69f5f7a48e
Use weak events in AvaloniaProperty plugin.
Fixes #8178 .
4 years ago
Giuseppe Lippolis
4845c10d88
fix(ExpressionNode): ensure _subscriber do not change during ValueChanged
4 years ago
Nikita Tsukanov
a5b2eb08d4
Added support for IReflectableType in InpcPropertyAccessorPlugin
4 years ago
Steven Kirk
d75732699c
Added attributes describing API stability.
Adds two attributes which describe the stability of an API:
- `UnstableAttribute` indicates that we provide no API stability guarantees for the class between minor/patch versions. This is mostly applied to `*Impl` interfaces which describe the interface between core Avalonia and platform implementations
- `NotClientImplementableAttribute` indicates that an interface is stable for consumption by a client, but should not be implemented outside of Avalonia itself (either because custom implementations are not supported, or because as members may be added to its API)
4 years ago
Yoh Deadfall
55710e8514
Used ToArray where it benefits over ToList
4 years ago
Nikita Tsukanov
e6c08a13d7
Added reflection-free API for weak events
4 years ago
Jeremy Koritzinsky
09c1a1157b
Fix calls to Expression.GetDelegateType
4 years ago
Jeremy Koritzinsky
e7afc15ca7
Implement the runtime side of the "method->Delegate" binding conversion for compiled bindings.
4 years ago
Steven Kirk
76667dbd0d
Finished adding nullable annotations to Avalonia.Base.
4 years ago
Steven Kirk
0bda763518
Added nullable annotations to Avalonia.Data. ( #7105 )
* Added nullable annotations to Avalonia.Data.
* ExpressionObserver root can be null.
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
Miha Markič
97c33f432a
Applies spell checking on mostly comments, but also non public members and arguments
5 years ago
ShadowsInRain
35d0c688ca
Fix a memory leak in StreamNode.
5 years ago
José Pedro
f281e81530
Fixed typo.
Whitespace fixes.
5 years ago
Max Katz
5109b00644
Reuse PropertyType in the ShouldNotSet method
5 years ago
Andrey Kunchev
4563c6cd24
Compiled path support for cast
5 years ago
Dariusz Komosiński
8555fed86b
Add failing tests for #4733 and fix property accessor.
6 years ago
Kieran Devlin
f3e0863f52
Updated exception type for validation exceptions so that DataValidationErrors can extract the user friendly message.
6 years ago
Steven Kirk
ed43a5753a
Handle BindingNotifications in LogicalNotNode.
Fixes handling binding notifications in `LogicalNotNote`. Previously if a `!` was placed in a binding that produced a `BindingNotification`, then `LogicalNotNode` tried to convert the `BindingNotification` to `bool` and failed, throwing an exception. Handle this properly.
6 years ago
Dariusz Komosiński
d451bb36b5
Use exception instead of an assert.
6 years ago
Dariusz Komosinski
0603bd1716
Fix errors caused by handling accessor fallback too late.
6 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
Dariusz Komosinski
3b7d8574e8
Try matching for INPC before matching methods.
6 years ago
Dariusz Komosinski
4b6d601bb7
Fix ternary op.
6 years ago
Dariusz Komosinski
999d5945c1
Optimize method accessor plugin
6 years ago
Dariusz Komosinski
229c8b7f12
Benchmark and simple optimization for INPC accessor.
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
Dariusz Komosinski
7158f660dc
Cleanup more usings.
6 years ago
Dariusz Komosinski
8e60e83d4c
Reduce memory usage of binding operations.
6 years ago
José Pedro
1ba4c68a35
Implemented TargetNullValue for bindings.
6 years ago
Dariusz Komosinski
5814bd7163
Remove direct logging functions.
7 years ago
Steven Kirk
d3f8d08a47
Make sure OneTime bindings unsubscribe.
`OneTime` bindings unsubscribe when the first value is pushed, meaning that they unsubscribe _during_ `ExpressionNode.StartListeningCore`. Make sure we handle this by:
- Setting `_listening = true` before calling `StartListeningCore`
- Subscribe to current value in `InpcPropertyAccessorPlugin` before sending current value, because we're unsubscribed when `SendCurrentValue` exits
7 years ago
Dariusz Komosiński
9acf82d47b
!B Fix expression nodes not knowing if last value is actually null or dead.
7 years ago
all.owing
78866d54ed
Allowed pass object as validation error
7 years ago
Dariusz Komosinski
868b5ea840
Update WeakReference usages to use the generic one.
7 years ago
Jeremy Koritzinsky
590f5923a8
Traverse transform nodes in the correct order when setting a binding source value.
7 years ago
Jeremy Koritzinsky
e3bc5345ae
Finish initial implementation of compiled bindings. Still some bugs to work out, but we have something that works now.
7 years ago
Nikita Tsukanov
8ad9a0f675
Compiled property paths
7 years ago
Nikita Tsukanov
c222070d84
Added IPropertyInfo and use it in IProvideValueTarget when possible
7 years ago
José Pedro
433c70a6c8
Added BindingOperations.DoNothing.
Added tests.
7 years ago
Steven Kirk
197d7d4904
Update OneWayToSource binding when DataContext changes.
Fixes #2470
7 years ago
Nikita Tsukanov
a3f3a06478
Emit compiled XAML from msbuild task
7 years ago
José Pedro
48dccadfb0
Fixed argument exception constructor calls.
Use nameof where possible.
Fixed wrong check in RelativeSource.AncestorLevel.
7 years ago
José Pedro
fa8d8c896d
Removed redundant bool comparisons.
7 years ago
Steven Kirk
d3e8752f15
Make ObservableStreamPlugin work with value types.
Use reflection to call `Observable.Select` on the source observable to box the value.
7 years ago
Jeremy Koritzinsky
44bf2ee721
Add unit test and fix #2149 .
7 years ago
Andrey Kunchev
458d45bb49
fix problem in complex binging chain, when a null value in chain reset current value to all subsequent expression nodes, so next change is starting on clean
7 years ago
Miha Markič
0a38876590
Spellchecks all projects except for Base, Controls, Samples and Testing
8 years ago
Miha Markič
eb93c9f4a7
Spellchecks comments and code in Avalonia.Base
8 years ago