Поделиться через


MultiTrigger Класс

Определение

Класс, представляющий список свойств и условия привязки, а также список методов задания, которые применяются при соблюдении всех условий в списке.

[Xamarin.Forms.ContentProperty("Setters")]
public sealed class MultiTrigger : Xamarin.Forms.TriggerBase
type MultiTrigger = class
    inherit TriggerBase
Наследование
System.Object
MultiTrigger
Атрибуты

Комментарии

Разработчики могут использовать для сравнения значений MultiTrigger свойств в элементе управления, который его содержит, с помощью Trigger объектов, или для любого связанного свойства (в том числе во включаемом элементе управления) с помощью BindingCondition объектов . Их можно смешивать в одном списке Conditions .

Приведенный ниже пример XML при добавлении в Xamarin. Forms приложение с правильным пространством имен проекта создает пользовательский интерфейс, который предлагает пользователю ввести секрет и переключить переключатель на проверка, если секрет правильный. Если пользователь введет "Цвет текста зеленый" и переключит Switch на его On позицию, текст, введенный пользователем, станет зеленым Entry . Если текст изменяется на нечто, отличное от секрета, или переключатель переключается на его Off положение, текст возвращается к цвету по умолчанию.

<?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>

Конструкторы

MultiTrigger(Type)

Инициализирует новый экземпляр класса MultiTrigger.

Свойства

BindingContext

Возвращает или задает объект, содержащий свойства, которые будут являться целевыми для привязанных свойств, относящихся к этому объекту BindableObject.

(Унаследовано от BindableObject)
Conditions

Возвращает список условий, которые должны быть соблюдены, чтобы можно было вызвать методы задания в списке Setters.

Dispatcher

Класс, представляющий список свойств и условия привязки, а также список методов задания, которые применяются при соблюдении всех условий в списке.

(Унаследовано от BindableObject)
EnterActions

Возвращает список объектов TriggerAction, которые будут вызываться при соблюдении условия триггера. Игнорируется для класса EventTrigger.

(Унаследовано от TriggerBase)
ExitActions

Возвращает список объектов TriggerAction, которые будут вызываться, когда условие триггера больше не соблюдается. Игнорируется для класса EventTrigger.

(Унаследовано от TriggerBase)
IsSealed

Возвращает значение, указывающее, является ли триггер запечатанным.

(Унаследовано от TriggerBase)
Setters

Возвращает список объектов Setter, применяемых, когда удовлетворен весь список условий в свойстве Conditions.

TargetType

Тип объекта, к которому можно ли присоединить объект TriggerBase.

(Унаследовано от TriggerBase)

Методы

ApplyBindings()

Применяет привязки к BindingContext.

(Унаследовано от BindableObject)
ClearValue(BindableProperty)

Очищает значение, заданное методом SetValue для property.

(Унаследовано от BindableObject)
ClearValue(BindablePropertyKey)

Очищает значение, заданное методом SetValue для свойства, которое определяется параметром propertyKey.

(Унаследовано от BindableObject)
CoerceValue(BindableProperty)

Класс, представляющий список свойств и условия привязки, а также список методов задания, которые применяются при соблюдении всех условий в списке.

(Унаследовано от BindableObject)
CoerceValue(BindablePropertyKey)

Класс, представляющий список свойств и условия привязки, а также список методов задания, которые применяются при соблюдении всех условий в списке.

(Унаследовано от BindableObject)
GetValue(BindableProperty)

Возвращает значение, которое содержится в BindableProperty.

(Унаследовано от BindableObject)
GetValues(BindableProperty, BindableProperty)
Устаревшие..

Для внутреннего использования платформой Xamarin.Forms.

(Унаследовано от BindableObject)
GetValues(BindableProperty, BindableProperty, BindableProperty)
Устаревшие..

Для внутреннего использования платформой Xamarin.Forms.

(Унаследовано от BindableObject)
IsSet(BindableProperty)

Возвращает true, если целевое свойство существует и задано.

(Унаследовано от BindableObject)
OnBindingContextChanged()

Переопределите этот метод для выполнения действия при изменении BindingContext.

(Унаследовано от BindableObject)
OnPropertyChanged(String)

Этот метод можно вызвать из дочернего класса для уведомления об изменении свойства.

(Унаследовано от BindableObject)
OnPropertyChanging(String)

Этот метод можно вызвать из дочернего класса для уведомления о том, что свойство будет изменено.

(Унаследовано от BindableObject)
RemoveBinding(BindableProperty)

Удаляет заданную ранее привязку.

(Унаследовано от BindableObject)
SetBinding(BindableProperty, BindingBase)

Присваивает привязку свойству.

(Унаследовано от BindableObject)
SetValue(BindableProperty, Object)

Задает значение указанного свойства.

(Унаследовано от BindableObject)
SetValue(BindablePropertyKey, Object)

Задает значение propertyKey.

(Унаследовано от BindableObject)
SetValueCore(BindableProperty, Object, SetValueFlags)

Для внутреннего использования платформой Xamarin.Forms.

(Унаследовано от BindableObject)
UnapplyBindings()

Отменяет применение всех заданных ранее привязок.

(Унаследовано от BindableObject)

События

BindingContextChanged

Возникает каждый раз, когда свойство BindingContext изменяется.

(Унаследовано от BindableObject)
PropertyChanged

Происходит при изменении свойства.

(Унаследовано от BindableObject)
PropertyChanging

Происходит, если свойство скоро изменится.

(Унаследовано от BindableObject)

Явные реализации интерфейса

IDynamicResourceHandler.SetDynamicResource(BindableProperty, String)

Для внутреннего использования платформой Xamarin.Forms.

(Унаследовано от BindableObject)

Методы расширения

GetPropertyIfSet<T>(BindableObject, BindableProperty, T)

Класс, представляющий список свойств и условия привязки, а также список методов задания, которые применяются при соблюдении всех условий в списке.

SetAppThemeColor(BindableObject, BindableProperty, Color, Color)

Класс, представляющий список свойств и условия привязки, а также список методов задания, которые применяются при соблюдении всех условий в списке.

SetBinding(BindableObject, BindableProperty, String, BindingMode, IValueConverter, String)

Создает и применяет привязку к свойству.

SetBinding<TSource>(BindableObject, BindableProperty, Expression<Func<TSource,Object>>, BindingMode, IValueConverter, String)
Устаревшие..

Создает и применяет привязку из выражения.

SetOnAppTheme<T>(BindableObject, BindableProperty, T, T)

Класс, представляющий список свойств и условия привязки, а также список методов задания, которые применяются при соблюдении всех условий в списке.

Применяется к

См. также раздел