The recording of the first ever ReactiveUI virtual conference is available on our YouTube Channel.

ReactiveWindowController Class

Summary

This is a NSWindowController that is both a NSWindowController and has ReactiveObject powers (i.e. you can call RaiseAndSetIfChanged).
Namespace
ReactiveUI
Interfaces
Base Types
  • NSWindowController
graph BT Type-->Base0["NSWindowController"] Type-.->Interface0["IReactiveNotifyPropertyChanged<ReactiveWindowController>"] Type-.->Interface1["IHandleObservableErrors"] click Interface1 "/api/ReactiveUI/IHandleObservableErrors" Type-.->Interface2["IReactiveObject"] click Interface2 "/api/ReactiveUI/IReactiveObject" Type-.->Interface3["INotifyPropertyChanged"] Type-.->Interface4["INotifyPropertyChanging"] Type-.->Interface5["IEnableLogger"] click Interface5 "/api/Splat/IEnableLogger" Type-.->Interface6["ICanActivate"] click Interface6 "/api/ReactiveUI/ICanActivate" Type["ReactiveWindowController"] class Type type-node

Syntax

public class ReactiveWindowController : NSWindowController, 
    IReactiveNotifyPropertyChanged<ReactiveWindowController>, IHandleObservableErrors, 
    IReactiveObject, INotifyPropertyChanged, INotifyPropertyChanging, IEnableLogger, ICanActivate

Constructors

Name Summary
ReactiveWindowController() Initializes a new instance of the ReactiveWindowController class.
ReactiveWindowController(IntPtr) Initializes a new instance of the ReactiveWindowController class.
ReactiveWindowController(NSCoder) Initializes a new instance of the ReactiveWindowController class.
ReactiveWindowController(NSObjectFlag) Initializes a new instance of the ReactiveWindowController class.
ReactiveWindowController(NSWindow) Initializes a new instance of the ReactiveWindowController class.
ReactiveWindowController(string) Initializes a new instance of the ReactiveWindowController class.
ReactiveWindowController(string, NSObject) Initializes a new instance of the ReactiveWindowController class.

Events

Name Type Summary
PropertyChanged PropertyChangedEventHandler?
PropertyChanging PropertyChangingEventHandler?

Properties

Name Value Summary
Activated IObservable<Unit>
Gets a observable which is triggered when the ViewModel is activated.
Changed IObservable<IReactivePropertyChangedEventArgs<ReactiveWindowController>>
Gets an Observable that fires *after* a property has changed. Note that this should not fire duplicate change notifications if a property is set to the same value multiple times.
Changing IObservable<IReactivePropertyChangedEventArgs<ReactiveWindowController>>
Gets an observable that fires *before* a property is about to be changed. Note that this should not fire duplicate change notifications if a property is set to the same value multiple times.
Deactivated IObservable<Unit>
Gets a observable which is triggered when the ViewModel is deactivated.
ThrownExceptions IObservable<Exception>
Gets a observable which will fire whenever an exception would normally terminate ReactiveUI internal state.

Methods

Name Value Summary
Dispose(bool) void
SuppressChangeNotifications() IDisposable
When this method is called, an object will not fire change notifications (neither traditional nor Observable notifications) until the return value is disposed.
WindowDidLoad() void

Extension Methods

Name Value Summary
AutoPersist<ReactiveWindowController, TDontCare>(Func<ReactiveWindowController, IObservable<Unit>>, IObservable<TDontCare>, TimeSpan?) IDisposable
AutoPersist allows you to automatically call a method when an object has changed, throttling on a certain interval. Note that this object must mark its persistable properties via the [DataMember] attribute. Changes to properties not marked with DataMember will not trigger the object to be saved.
AutoPersist<ReactiveWindowController>(Func<ReactiveWindowController, IObservable<Unit>>, TimeSpan?) IDisposable
AutoPersist allows you to automatically call a method when an object has changed, throttling on a certain interval. Note that this object must mark its persistable properties via the [DataMember] attribute. Changes to properties not marked with DataMember will not trigger the object to be saved.
BindCommand<ReactiveWindowController, TViewModel, TProp, TControl, TParam>(TViewModel?, Expression<Func<TViewModel, TProp?>>, Expression<Func<ReactiveWindowController, TControl>>, Expression<Func<TViewModel, TParam?>>, string?) IReactiveBinding<TView, TProp>
Bind a command from the ViewModel to an explicitly specified control on the View.
BindCommand<ReactiveWindowController, TViewModel, TProp, TControl, TParam>(TViewModel?, Expression<Func<TViewModel, TProp?>>, Expression<Func<ReactiveWindowController, TControl>>, IObservable<TParam?>, string?) IReactiveBinding<TView, TProp>
Bind a command from the ViewModel to an explicitly specified control on the View.
BindCommand<ReactiveWindowController, TViewModel, TProp, TControl>(TViewModel?, Expression<Func<TViewModel, TProp?>>, Expression<Func<ReactiveWindowController, TControl>>, string?) IReactiveBinding<TView, TProp>
Bind a command from the ViewModel to an explicitly specified control on the View.
BindValidation<ReactiveWindowController, TViewModel, TViewModelProperty, TViewProperty>(TViewModel?, Expression<Func<TViewModel, TViewModelProperty>>, Expression<Func<ReactiveWindowController, TViewProperty>>, IValidationTextFormatter<string>?) IDisposable
Binds the specified ViewModel property validation to the View property.
BindValidation<ReactiveWindowController, TViewModel, TViewModelProperty>(TViewModel?, Expression<Func<TViewModel, TViewModelProperty?>>, TextInputLayout, IValidationTextFormatter<string>?) IDisposable
Platform binding to the TextInputLayout.
BindValidation<ReactiveWindowController, TViewModel, TViewModelProperty>(TViewModel?, Expression<Func<TViewModel, TViewModelProperty?>>, TextInputLayout, IValidationTextFormatter<string>?) IDisposable
Platform binding to the TextInputLayout.
BindValidation<ReactiveWindowController, TViewModel, TViewProperty>(TViewModel?, Expression<Func<ReactiveWindowController, TViewProperty>>, IValidationTextFormatter<string>?) IDisposable
Binds the overall validation of a ViewModel to a specified View property.
BindValidation<ReactiveWindowController, TViewModel, TViewProperty>(TViewModel?, Expression<Func<TViewModel?, ValidationHelper?>>, Expression<Func<ReactiveWindowController, TViewProperty>>, IValidationTextFormatter<string>?) IDisposable
Binds a ValidationHelper from a ViewModel to a specified View property.
BindValidation<ReactiveWindowController, TViewModel>(TViewModel?, Expression<Func<TViewModel?, ValidationHelper?>>, TextInputLayout, IValidationTextFormatter<string>?) IDisposable
Platform binding to the TextInputLayout.
BindValidation<ReactiveWindowController, TViewModel>(TViewModel?, Expression<Func<TViewModel?, ValidationHelper?>>, TextInputLayout, IValidationTextFormatter<string>?) IDisposable
Platform binding to the TextInputLayout.
BindValidationEx<ReactiveWindowController, TViewModel, TViewModelProperty>(TViewModel?, Expression<Func<TViewModel, TViewModelProperty?>>, TextInputLayout, IValidationTextFormatter<string>?) IDisposable
Platform binding to the TextInputLayout.
BindValidationEx<ReactiveWindowController, TViewModel, TViewModelProperty>(TViewModel?, Expression<Func<TViewModel, TViewModelProperty?>>, TextInputLayout, IValidationTextFormatter<string>?) IDisposable
Platform binding to the TextInputLayout.
InvokeViewModelAction<T>(Action<T>) object
This is a thing I lifted from Prism.
Log<ReactiveWindowController>() IFullLogger
Call this method to write log entries on behalf of the current class.
From LogHost
RaiseAndSetIfChanged<ReactiveWindowController, TRet>(TRet, TRet, string?) TRet
RaiseAndSetIfChanged fully implements a Setter for a read-write property on a ReactiveObject, using CallerMemberName to raise the notification and the ref to the backing field to set the property.
RaisePropertyChanged<ReactiveWindowController>(string?) void
Use this method in your ReactiveObject classes when creating custom properties where raiseAndSetIfChanged doesn't suffice.
RaisePropertyChanging<ReactiveWindowController>(string?) void
Use this method in your ReactiveObject classes when creating custom properties where raiseAndSetIfChanged doesn't suffice.
SubscribePropertyChangedEvents<ReactiveWindowController>() void
Use this method for enabling classic PropertyChanged events when you are implementing IReactiveObject manually.
SubscribePropertyChangingEvents<ReactiveWindowController>() void
Use this method for enabling classic PropertyChanging events when you are implementing IReactiveObject manually.
WhenAnyObservable<ReactiveWindowController, TRet, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12>(Expression<Func<ReactiveWindowController, IObservable<T1>?>>, Expression<Func<ReactiveWindowController, IObservable<T2>?>>, Expression<Func<ReactiveWindowController, IObservable<T3>?>>, Expression<Func<ReactiveWindowController, IObservable<T4>?>>, Expression<Func<ReactiveWindowController, IObservable<T5>?>>, Expression<Func<ReactiveWindowController, IObservable<T6>?>>, Expression<Func<ReactiveWindowController, IObservable<T7>?>>, Expression<Func<ReactiveWindowController, IObservable<T8>?>>, Expression<Func<ReactiveWindowController, IObservable<T9>?>>, Expression<Func<ReactiveWindowController, IObservable<T10>?>>, Expression<Func<ReactiveWindowController, IObservable<T11>?>>, Expression<Func<ReactiveWindowController, IObservable<T12>?>>, Func<T1?, T2?, T3?, T4?, T5?, T6?, T7?, T8?, T9?, T10?, T11?, T12?, TRet>) IObservable<TRet>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
WhenAnyObservable<ReactiveWindowController, TRet, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11>(Expression<Func<ReactiveWindowController, IObservable<T1>?>>, Expression<Func<ReactiveWindowController, IObservable<T2>?>>, Expression<Func<ReactiveWindowController, IObservable<T3>?>>, Expression<Func<ReactiveWindowController, IObservable<T4>?>>, Expression<Func<ReactiveWindowController, IObservable<T5>?>>, Expression<Func<ReactiveWindowController, IObservable<T6>?>>, Expression<Func<ReactiveWindowController, IObservable<T7>?>>, Expression<Func<ReactiveWindowController, IObservable<T8>?>>, Expression<Func<ReactiveWindowController, IObservable<T9>?>>, Expression<Func<ReactiveWindowController, IObservable<T10>?>>, Expression<Func<ReactiveWindowController, IObservable<T11>?>>, Func<T1?, T2?, T3?, T4?, T5?, T6?, T7?, T8?, T9?, T10?, T11?, TRet>) IObservable<TRet>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
WhenAnyObservable<ReactiveWindowController, TRet, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10>(Expression<Func<ReactiveWindowController, IObservable<T1>?>>, Expression<Func<ReactiveWindowController, IObservable<T2>?>>, Expression<Func<ReactiveWindowController, IObservable<T3>?>>, Expression<Func<ReactiveWindowController, IObservable<T4>?>>, Expression<Func<ReactiveWindowController, IObservable<T5>?>>, Expression<Func<ReactiveWindowController, IObservable<T6>?>>, Expression<Func<ReactiveWindowController, IObservable<T7>?>>, Expression<Func<ReactiveWindowController, IObservable<T8>?>>, Expression<Func<ReactiveWindowController, IObservable<T9>?>>, Expression<Func<ReactiveWindowController, IObservable<T10>?>>, Func<T1?, T2?, T3?, T4?, T5?, T6?, T7?, T8?, T9?, T10?, TRet>) IObservable<TRet>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
WhenAnyObservable<ReactiveWindowController, TRet, T1, T2, T3, T4, T5, T6, T7, T8, T9>(Expression<Func<ReactiveWindowController, IObservable<T1>?>>, Expression<Func<ReactiveWindowController, IObservable<T2>?>>, Expression<Func<ReactiveWindowController, IObservable<T3>?>>, Expression<Func<ReactiveWindowController, IObservable<T4>?>>, Expression<Func<ReactiveWindowController, IObservable<T5>?>>, Expression<Func<ReactiveWindowController, IObservable<T6>?>>, Expression<Func<ReactiveWindowController, IObservable<T7>?>>, Expression<Func<ReactiveWindowController, IObservable<T8>?>>, Expression<Func<ReactiveWindowController, IObservable<T9>?>>, Func<T1?, T2?, T3?, T4?, T5?, T6?, T7?, T8?, T9?, TRet>) IObservable<TRet>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
WhenAnyObservable<ReactiveWindowController, TRet, T1, T2, T3, T4, T5, T6, T7, T8>(Expression<Func<ReactiveWindowController, IObservable<T1>?>>, Expression<Func<ReactiveWindowController, IObservable<T2>?>>, Expression<Func<ReactiveWindowController, IObservable<T3>?>>, Expression<Func<ReactiveWindowController, IObservable<T4>?>>, Expression<Func<ReactiveWindowController, IObservable<T5>?>>, Expression<Func<ReactiveWindowController, IObservable<T6>?>>, Expression<Func<ReactiveWindowController, IObservable<T7>?>>, Expression<Func<ReactiveWindowController, IObservable<T8>?>>, Func<T1?, T2?, T3?, T4?, T5?, T6?, T7?, T8?, TRet>) IObservable<TRet>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
WhenAnyObservable<ReactiveWindowController, TRet, T1, T2, T3, T4, T5, T6, T7>(Expression<Func<ReactiveWindowController, IObservable<T1>?>>, Expression<Func<ReactiveWindowController, IObservable<T2>?>>, Expression<Func<ReactiveWindowController, IObservable<T3>?>>, Expression<Func<ReactiveWindowController, IObservable<T4>?>>, Expression<Func<ReactiveWindowController, IObservable<T5>?>>, Expression<Func<ReactiveWindowController, IObservable<T6>?>>, Expression<Func<ReactiveWindowController, IObservable<T7>?>>, Func<T1?, T2?, T3?, T4?, T5?, T6?, T7?, TRet>) IObservable<TRet>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
WhenAnyObservable<ReactiveWindowController, TRet, T1, T2, T3, T4, T5, T6>(Expression<Func<ReactiveWindowController, IObservable<T1>?>>, Expression<Func<ReactiveWindowController, IObservable<T2>?>>, Expression<Func<ReactiveWindowController, IObservable<T3>?>>, Expression<Func<ReactiveWindowController, IObservable<T4>?>>, Expression<Func<ReactiveWindowController, IObservable<T5>?>>, Expression<Func<ReactiveWindowController, IObservable<T6>?>>, Func<T1?, T2?, T3?, T4?, T5?, T6?, TRet>) IObservable<TRet>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
WhenAnyObservable<ReactiveWindowController, TRet, T1, T2, T3, T4, T5>(Expression<Func<ReactiveWindowController, IObservable<T1>?>>, Expression<Func<ReactiveWindowController, IObservable<T2>?>>, Expression<Func<ReactiveWindowController, IObservable<T3>?>>, Expression<Func<ReactiveWindowController, IObservable<T4>?>>, Expression<Func<ReactiveWindowController, IObservable<T5>?>>, Func<T1?, T2?, T3?, T4?, T5?, TRet>) IObservable<TRet>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
WhenAnyObservable<ReactiveWindowController, TRet, T1, T2, T3, T4>(Expression<Func<ReactiveWindowController, IObservable<T1>?>>, Expression<Func<ReactiveWindowController, IObservable<T2>?>>, Expression<Func<ReactiveWindowController, IObservable<T3>?>>, Expression<Func<ReactiveWindowController, IObservable<T4>?>>, Func<T1?, T2?, T3?, T4?, TRet>) IObservable<TRet>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
WhenAnyObservable<ReactiveWindowController, TRet, T1, T2, T3>(Expression<Func<ReactiveWindowController, IObservable<T1>?>>, Expression<Func<ReactiveWindowController, IObservable<T2>?>>, Expression<Func<ReactiveWindowController, IObservable<T3>?>>, Func<T1?, T2?, T3?, TRet>) IObservable<TRet>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
WhenAnyObservable<ReactiveWindowController, TRet, T1, T2>(Expression<Func<ReactiveWindowController, IObservable<T1>?>>, Expression<Func<ReactiveWindowController, IObservable<T2>?>>, Func<T1?, T2?, TRet>) IObservable<TRet>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
WhenAnyObservable<ReactiveWindowController, TRet>(Expression<Func<ReactiveWindowController, IObservable<TRet>?>>) IObservable<TRet>
Observe a observable which is set to a property, and automatically subscribe to the most recent emitted value.
WhenAnyObservable<ReactiveWindowController, TRet>(Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>) IObservable<TRet>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
WhenAnyObservable<ReactiveWindowController, TRet>(Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>) IObservable<TRet>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
WhenAnyObservable<ReactiveWindowController, TRet>(Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>) IObservable<TRet>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
WhenAnyObservable<ReactiveWindowController, TRet>(Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>) IObservable<TRet>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
WhenAnyObservable<ReactiveWindowController, TRet>(Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>) IObservable<TRet>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
WhenAnyObservable<ReactiveWindowController, TRet>(Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>) IObservable<TRet>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
WhenAnyObservable<ReactiveWindowController, TRet>(Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>) IObservable<TRet>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
WhenAnyObservable<ReactiveWindowController, TRet>(Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>) IObservable<TRet>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
WhenAnyObservable<ReactiveWindowController, TRet>(Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>) IObservable<TRet>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
WhenAnyObservable<ReactiveWindowController, TRet>(Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>) IObservable<TRet>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
WhenAnyObservable<ReactiveWindowController, TRet>(Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>, Expression<Func<ReactiveWindowController, IObservable<TRet>?>>) IObservable<TRet>
Monitor a property that is an observable, and subscribe to the most recent emitted value.
With<ReactiveWindowController, TKey, TField>(Dictionary<TKey, TField>, IDictionary<TKey, TField>) TBuilder
Adds the specified dictionary to the provided dictionary.