An availability effect is a class that implements the IAvailabilityEffect interface, located in Caliburn.PresentationFramework. Availability effects allow a developer to alter the UI when a trigger for a particular message is not available. ie. an action/command
cannot execute. The default effect is to disable the UI, but there are several other built-in effects and you can create your own.
||Disable the UI
||Hides the UI; still takes up space in the layout.
||Hides the UI; does not take up space in the layout.
||The UI will not be affected by availability.
When using the Message.Attach attached property for shortened trigger declaration, you can use the Message.AvailabilityEffect attached property to set a non-default availability effect. If you are using the long Xaml declaration for triggers/messages, every
message has an AvailabilityEffect property that allows you to fine tune the effect for individual messages. See the sample named "AvailabilityEffects" for a demonstration of all effects as well as the use of a user-defined effect.