MultiTrigger Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Class that represents a list of property and binding conditions, and a list of setters that are applied when all of the conditions in the list are met.
public ref class MultiTrigger sealed : Microsoft::Maui::Controls::TriggerBase
[Microsoft.Maui.Controls.ContentProperty("Setters")]
public sealed class MultiTrigger : Microsoft.Maui.Controls.TriggerBase
[<Microsoft.Maui.Controls.ContentProperty("Setters")>]
type MultiTrigger = class
inherit TriggerBase
Public NotInheritable Class MultiTrigger
Inherits TriggerBase
- Inheritance
- Attributes
Remarks
Developers can use a MultiTrigger to compare against property values on the control that contains it by using Trigger objects, or on any bound property (including those on the enclosing control) by using BindingCondition objects. These can be mixed in the same Conditions list.
The XML example below, when added to a Microsoft.Maui.Controls app with the correct project namespace, creates a UI that suggests that the user type in a secret and toggle a switch to check if the secret is correct. If the user enters "The text color is green", and toggles the Switch to its On
position, then the text that the user typed into the Entry turns green. If either the text is altered to something other than the secret or the Switch is toggled to its Off
position, the text returns to the default color
<?xml version="1.0" encoding="utf-8"?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:PropertyConditionDemo"
x:Class="PropertyConditionDemo.PropertyConditionDemoPage">
<StackLayout VerticalOptions="Center">
<Label Text="Do you know the secret?"
VerticalOptions="Center"
HorizontalOptions="Center" />
<Entry Placeholder="Type the secret!"
VerticalOptions="Center"
HorizontalOptions="Center">
<Entry.Triggers>
<MultiTrigger TargetType="Entry" >
<MultiTrigger.Conditions>
<PropertyCondition Property="Text" Value="The text color is green" />
<BindingCondition Binding="{Binding Source={x:Reference checkSecret},
Path=IsToggled}"
Value="true" />
</MultiTrigger.Conditions>
<Setter Property="TextColor"
Value="Color.Green" />
</MultiTrigger>
</Entry.Triggers>
</Entry>
<Label Text="Check the secret?"
VerticalOptions="Center"
HorizontalOptions="Center" />
<Switch x:Name="checkSecret"
VerticalOptions="Center"
HorizontalOptions="Center" />
</StackLayout>
</ContentPage>
Constructors
MultiTrigger(Type) |
Initializes a new MultiTrigger instance. |
Properties
BindingContext |
Gets or sets an object that contains the properties that will be targeted by the bound properties that belong to this BindableObject. This is a bindable property. (Inherited from BindableObject) |
Conditions |
Gets the list of conditions that must be satisfied in ordeer for the setters in the Setters list to be invoked. |
Dispatcher |
Gets the dispatcher that was available when this bindable object was created, otherwise tries to find the nearest available dispatcher (probably the window's/app's). (Inherited from BindableObject) |
EnterActions |
Gets the list of TriggerAction objects that will be invoked when the trigger condition is met. Ignored for the EventTrigger class. (Inherited from TriggerBase) |
ExitActions |
Gets the list of TriggerAction objects that will be invoked after the trigger condition is no longer met. Ignored for the EventTrigger class. (Inherited from TriggerBase) |
IsSealed |
Gets a value that indicates whether or not the trigger is sealed. (Inherited from TriggerBase) |
Setters |
Gets the list of Setter objects that will be applied when the list of conditions in the Conditions property are all met. |
TargetType |
The type of object to which this TriggerBase object can be attached. (Inherited from TriggerBase) |
Methods
ApplyBindings() |
Applies all the current bindings to BindingContext. (Inherited from BindableObject) |
ClearValue(BindableProperty) |
Clears any value that is previously set for a bindable property. (Inherited from BindableObject) |
ClearValue(BindablePropertyKey) |
Clears any value that is previously set for a bindable property, identified by its key. (Inherited from BindableObject) |
CoerceValue(BindableProperty) |
Coerces the value of the specified bindable property. This is done by invoking BindableProperty.CoerceValueDelegate of the specified bindable property. (Inherited from BindableObject) |
CoerceValue(BindablePropertyKey) |
Coerces the value of the specified bindable property. This is done by invoking BindableProperty.CoerceValueDelegate of the specified bindable property. (Inherited from BindableObject) |
GetValue(BindableProperty) |
Returns the value that is contained in the given bindable property. (Inherited from BindableObject) |
IsSet(BindableProperty) |
Determines whether or not a bindable property exists and has a value set. (Inherited from BindableObject) |
OnBindingContextChanged() |
Raises the BindingContextChanged event. (Inherited from BindableObject) |
OnPropertyChanged(String) |
Raises the PropertyChanged event. (Inherited from BindableObject) |
OnPropertyChanging(String) |
Raises the PropertyChanging event. (Inherited from BindableObject) |
RemoveBinding(BindableProperty) |
Removes a previously set binding from a bindable property. (Inherited from BindableObject) |
SetBinding(BindableProperty, BindingBase) |
Assigns a binding to a bindable property. (Inherited from BindableObject) |
SetValue(BindableProperty, Object) |
Sets the value of the specified bindable property. (Inherited from BindableObject) |
SetValue(BindablePropertyKey, Object) |
Sets the value of the specified bindable property. (Inherited from BindableObject) |
UnapplyBindings() |
Removes all current bindings from the current context. (Inherited from BindableObject) |
Events
BindingContextChanged |
Occurs when the value of the BindingContext property changes. (Inherited from BindableObject) |
PropertyChanged |
Occurs when a property value changes. (Inherited from BindableObject) |
PropertyChanging |
Occurs when a property value is changing. (Inherited from BindableObject) |
Explicit Interface Implementations
IDynamicResourceHandler.SetDynamicResource(BindableProperty, String) | (Inherited from BindableObject) |
Extension Methods
GetPropertyIfSet<T>(BindableObject, BindableProperty, T) | |
SetAppTheme<T>(BindableObject, BindableProperty, T, T) | |
SetAppThemeColor(BindableObject, BindableProperty, Color, Color) | |
SetBinding(BindableObject, BindableProperty, String, BindingMode, IValueConverter, String) |
Creates and applies a binding to a property. |
SetBinding<TSource,TProperty>(BindableObject, BindableProperty, Func<TSource,TProperty>, BindingMode, IValueConverter, Object, String, Object, Object, Object) |
Creates a binding between a property on the source object and a property on the target object. |