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.
7 years ago
Steven Kirk
b82ca9aca9
Add an AvaloniaProperty visitor.
We already have some specific internal methods for routing certain methods via an untyped property to a typed property, but adding support for the visitor pattern allows us to support arbitrary use-cases.
7 years ago
Steven Kirk
2e99fa9a91
Make setting styled values disposable.
7 years ago
Steven Kirk
de2b1925d9
Try TypeConverters in TryConvert.
Fixes #3584 .
7 years ago
Steven Kirk
aec9c6e5e2
Make animation value override local value.
This line was missing. Might be the cause of #3466 .
7 years ago
Steven Kirk
edc8bece4e
Raised property changed when binding completes.
Fixes #3545
7 years ago
Steven Kirk
187e45d021
Make ClearLocalValue notify with correct priority.
7 years ago
Dariusz Komosinski
77df8b319e
Ensure that weak refs with collected refs are compacted as well.
7 years ago
Steven Kirk
966d6d511a
Display property types.
7 years ago
Dariusz Komosinski
beea785f30
Implement simple struct wrapping a single value or List.
7 years ago
Dariusz Komosinski
d7b07dec02
Replace TypeInfo with Type.
7 years ago
Dariusz Komosinski
011e728c42
Allow for preallocating inner list size when `InsertRange` is called with non ICollection<T> argument.
7 years ago
Steven Kirk
399417692f
Revert "Removed unused owner reference."
This reverts commit d0e2a844db .
7 years ago
Steven Kirk
3bc1594dca
Revert "Removed unused field."
This reverts commit 270f9718b8 .
7 years ago
Steven Kirk
7f26635efa
Wire up validation/coercion for attached properties.
7 years ago
Steven Kirk
c6acca57c4
Fix method name after merge.
7 years ago
Steven Kirk
69e702320b
Added some documentation to value stores.
7 years ago
Steven Kirk
4cc378ea0f
Property store can be typed on IValue.
7 years ago
Steven Kirk
a1353c7715
Remove unused method.
7 years ago
Steven Kirk
6f92e3786a
Fix typo.
7 years ago
Steven Kirk
3a80cee3fc
Add nullability annotations.
7 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`.
7 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.
7 years ago
Steven Kirk
270f9718b8
Removed unused field.
7 years ago
Steven Kirk
f7f9e41bf7
Setter not needed.
7 years ago
Steven Kirk
fa81c42c56
BindingValue should be marked [Flags].
7 years ago
Steven Kirk
d0e2a844db
Removed unused owner reference.
7 years ago
Steven Kirk
00c1c35125
Go direct to property store.
To avoid a call to `VerifyAccess` (which shows up when profiling).
7 years ago
Steven Kirk
afce4460dd
Removed useless default values.
There's already an overload without the parameter.
7 years ago
Steven Kirk
685f3f7b6e
Fix typos.
7 years ago
Steven Kirk
47368017a7
Remove unused methods.
7 years ago
Steven Kirk
42bbb5e518
Removed unused methods.
7 years ago
Steven Kirk
623a925c39
Clarify difference between BindingValue and BindingNotifcation.
7 years ago
Steven Kirk
37db6c79e0
Fix one-way bindings with notifications.
7 years ago
Dariusz Komosinski
12f4ae017f
Update license header.
7 years ago
Dariusz Komosinski
c04b08aad9
Copy pooled collections to Avalonia.Base project.
7 years ago
Benedikt Schroeder
e704823ced
Introduce a struct enumerator implementation for ReadOnlyList that can be reused
7 years ago
Steven Kirk
9137cc828a
Added overload of GetValueOrDefault that takes no param.
To match `Nullable<T>`.
7 years ago
Steven Kirk
8196e054b6
ValueOrDefault -> GetValueOrDefault.
To match `Nullable<T>`.
7 years ago
Steven Kirk
8e9a1cce04
Use _value field where possible.
Allows more code to be inlined by not checking `HasValue` twice.
7 years ago
Dan Walmsley
d7be0f9837
add implementation of platform handles on the managed side.
7 years ago
Steven Kirk
35bd69f23c
Remove AvaloniaProperty.Initialized.
It was only needed for pseudoclasses. Move pseudoclass registration to an engine that doesn't require `AvaloniaProperty.Initialized`, implemented in `PseudoclassEngine`.
7 years ago
Steven Kirk
0f04f4d01a
Add WPF-style property coercion.
7 years ago
Steven Kirk
aa81db75a0
Added WPF-style validation for AvaloniaProperty.
7 years ago
Steven Kirk
6ddc953103
Implement diagnostic API.
Doesn't actually fill in the "details" property for styled properties because this API is going to change shortly with the new devtools.
7 years ago
Steven Kirk
d5dc470416
Fixed issue with LocalValue and bindings.
7 years ago
Steven Kirk
44e1bd5158
Use LocalValueEntry instead of boxing.
Further reduces allocated memory in the common case of only a local value being set.
7 years ago
Steven Kirk
a29a2db616
Removed unused method.
7 years ago
Steven Kirk
55eea624ee
Implement IEquatable on Optional.
7 years ago
Steven Kirk
8b1efc53ca
Make Optional readonly.
7 years ago