Steven Kirk
daff817ce4
Subscribe to ExpressionSubject before setting value.
The inner `ExpressionObserver` must be subscribed to as setting the
value requires the expression to be evaluated.
10 years ago
Steven Kirk
c5c60c483a
Add concept of "value plugins".
These are used to extensibly handle special values like `Task` and
`IObservable<>`. Previously this was baked into the expression observer
architecture with a TODO comment saying that it needs to be extensible.
10 years ago
Steven Kirk
2f72295657
Started refactor of ExpressionObserver.
Tying to be more "rx", but also will allow us to move forward on BindingNotification changes.
10 years ago
Steven Kirk
4906a472b0
Reimplemented data validation using BindingNotifications.
10 years ago
Steven Kirk
5c33fbc6ee
Reimplemented property validation.
As far as it was in `property-validation-grokys` branch. Things were
messed up on master so had to merge this manually so may be problems.
10 years ago
Steven Kirk
5be41985c3
Renamed Perspex -> Avalonia
10 years ago
Jeremy Koritzinsky
da5fd06fcd
Moved validation filtering into ExpressionObserver and out of InstancedBinding, PerspexObject, and the Priority* system. Renamed some methods in this system to be more descriptive.
10 years ago
Jeremy Koritzinsky
ee486113e5
Finished wiring up validation support. Now exceptions and INotifyDataErrorInfo implementers will set controls into their ":invalid" pseudo-class state.
10 years ago
Steven Kirk
886fbb5458
Make ExpressionObserver accept a priority for sets.
This makes auto-expanding the treeview in DevTools work again.
10 years ago
Steven Kirk
3d271cd020
Started implementing weak bindings.
Tests currently failing as WeakSubscriptionManager doesn't support
unsubscribing yet.
10 years ago
Steven Kirk
6b99bcf30b
Use LastOrDefaultAsync for completion.
10 years ago
Steven Kirk
45207dd7c6
Make ExpressionObserver complete...
When rootObservable or _update completes.
10 years ago
Steven Kirk
23cc9a2ff4
Allow binding to element without path.
Closes #365 .
11 years ago
Steven Kirk
5f0a6c9d72
Use observable to signal update...
...in ExpressionObserver, instead of calling UpdateRoot. This should
avoid a leak.
11 years ago
Steven Kirk
318be5196d
Added some ExpressionObserver lifetime tests.
11 years ago
Steven Kirk
8fb9c5c8e7
Fixed problem with binding DataContext.
Bindings such as <Foo DataContext="{Binding Bar}"/> were not working.
11 years ago
Steven Kirk
67835cc09b
Applied a bunch of resharper suggestions.
11 years ago
Steven Kirk
7865743819
Added ElementName bindings.
11 years ago
Steven Kirk
af79e21fde
Added Menu XAML styles.
11 years ago
Steven Kirk
d54772033b
Added DropDown theme in XAML.
Something weird is happening where selected items are removed from the
tree somehow.
11 years ago
Steven Kirk
3427b7655b
Added PerspexProperty plugin to ExpressionObserver.
11 years ago
Steven Kirk
06f59e57f4
Started adding an ExpressionObserver plugin system.
So that we can handle PerspexObjects etc in an extensible fashion.
11 years ago
Steven Kirk
b230c3b3f3
Renamed XamlBinding -> Binding
Had to also rename enclosing namespace from Binding to Data as classes
with same name as a namespace cause problems.
11 years ago
Steven Kirk
d2cc993a3e
Fixed DataContext binding problem.
Described by XamlBindingTest.Should_Not_Write_To_Old_DataContext.
Problem still remains with ListBox.SelectedItems however, that's going
to require something more.
11 years ago
Steven Kirk
62b8c5a40c
Added default type converter for bindings.
To convert between basic types. Closes #256 . Closes #270 .
11 years ago
Steven Kirk
43a66901fc
Remove ExpressionValue.
Use PerspexProperty.UnsetValue instead.
11 years ago
Steven Kirk
14ca308900
Log binding path.
11 years ago
Steven Kirk
072aa3c96d
Allow ExpressionObserver root to be changed.
11 years ago
Steven Kirk
82be7441ad
Added ExpressionSubject.
11 years ago
Steven Kirk
962c1ea01b
Pass SetValue through expression chain.
11 years ago
Steven Kirk
772937ad15
Change ExpressionValue to struct.
And add some docs.
11 years ago
Steven Kirk
6e264dccc4
Allow setting values via ExpressionObserver.
11 years ago
Steven Kirk
005cd231cc
Initial implementation of ExpressionObserver.
11 years ago