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


DataTrigger Класс

Определение

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

[Xamarin.Forms.ContentProperty("Setters")]
[Xamarin.Forms.Xaml.AcceptEmptyServiceProvider]
public sealed class DataTrigger : Xamarin.Forms.TriggerBase, Xamarin.Forms.Xaml.IValueProvider
type DataTrigger = class
    inherit TriggerBase
    interface IValueProvider
Наследование
System.Object
DataTrigger
Атрибуты
Реализации

Комментарии

Класс DataTrigger подходит для проверки значений в других элементах управления, а также любого свойства элемента управления, к которому он был добавлен. То есть контекстом привязки по умолчанию является элемент управления, к которому он был добавлен.

В приведенном ниже xml-примере пользователю предлагается ввести секрет, который называется "Цвет текста зеленый". Когда пользователь ввел "The", текст записи изменит цвет на красный. Когда пользователь завершает секрет, текст Метка становится зеленым. Если пользователь изменяет секрет, код возвращается к цвету по умолчанию. В этом примере показано, как выполнить привязку к включающем элементу управления (Запись из записи) и к элементу управления "Запись" (Запись из label)

<?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:TriggerDemo"
                x:Class="TriggerDemo.TriggerDemoPage">
<StackLayout VerticalOptions="Center">
<Label Text="Can you tell me the secret?" VerticalOptions="Center" HorizontalOptions="Center">
<Label.Triggers>
<DataTrigger TargetType="Label"
                    Binding="{Binding Source={x:Reference checkEntry},
                                      Path=Text}"
                    Value="The text color is green">
<Setter Property="TextColor" Value="Color.Green" />
</DataTrigger>
</Label.Triggers>
</Label>
<Entry Placeholder="Type the secret here." x:Name="checkEntry" VerticalOptions="Center" HorizontalOptions="Center">
<Entry.Triggers>
<DataTrigger TargetType="Entry"
                    Binding="{Binding Text}"
                    Value="The">
<Setter Property="TextColor" Value="Red" />
</DataTrigger>
</Entry.Triggers>
</Entry>
</StackLayout>
</ContentPage>

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

DataTrigger(Type)

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

Свойства

Binding

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

BindingContext

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

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

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

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

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

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

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

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

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

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

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

TargetType

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

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

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

Методы

ApplyBindings()

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

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

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

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

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

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

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

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

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

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

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

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

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

(Унаследовано от BindableObject)
GetValues(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)
IValueProvider.ProvideValue(IServiceProvider)

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

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

GetPropertyIfSet<T>(BindableObject, BindableProperty, T)

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

SetAppThemeColor(BindableObject, BindableProperty, Color, Color)

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

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

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

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

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

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

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

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