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


DataTrigger Класс

Определение

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

public ref class DataTrigger sealed : Microsoft::Maui::Controls::TriggerBase, Microsoft::Maui::Controls::Xaml::IValueProvider
[Microsoft.Maui.Controls.ContentProperty("Setters")]
[Microsoft.Maui.Controls.Xaml.AcceptEmptyServiceProvider]
public sealed class DataTrigger : Microsoft.Maui.Controls.TriggerBase, Microsoft.Maui.Controls.Xaml.IValueProvider
[<Microsoft.Maui.Controls.ContentProperty("Setters")>]
[<Microsoft.Maui.Controls.Xaml.AcceptEmptyServiceProvider>]
type DataTrigger = class
    inherit TriggerBase
    interface IValueProvider
Public NotInheritable Class DataTrigger
Inherits TriggerBase
Implements IValueProvider
Наследование
Атрибуты
Реализации

Комментарии

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

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

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

Возвращает диспетчер, который был доступен при создании этого привязываемого объекта, в противном случае пытается найти ближайший доступный диспетчер (вероятно, окно или приложение).

(Унаследовано от 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)

Очищает любое значение, заданное ранее для привязываемого свойства.

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

Очищает любое значение, заданное ранее для привязываемого свойства, идентифицируемого ключом.

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

Принуждается значение указанного привязываемого свойства. Это делается путем вызова BindableProperty.CoerceValueDelegate указанного привязываемого свойства.

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

Принуждается значение указанного привязываемого свойства. Это делается путем вызова BindableProperty.CoerceValueDelegate указанного привязываемого свойства.

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

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

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

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

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

Вызывает событие BindingContextChanged.

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

Вызывает событие PropertyChanged.

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

Вызывает событие PropertyChanging.

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

Удаляет ранее заданную привязку из привязываемого свойства.

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

Назначает привязку привязываемому свойству.

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

Задает значение указанного привязываемого свойства.

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

Задает значение указанного привязываемого свойства.

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

Удаляет все текущие привязки из текущего контекста.

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

События

BindingContextChanged

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

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

Появляется при изменении значения свойства.

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

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

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

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

IDynamicResourceHandler.SetDynamicResource(BindableProperty, String)

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

(Унаследовано от BindableObject)
IValueProvider.ProvideValue(IServiceProvider)

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

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

GetPropertyIfSet<T>(BindableObject, BindableProperty, T)

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

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

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

SetAppThemeColor(BindableObject, BindableProperty, Color, Color)

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

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

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

SetBinding<TSource,TProperty>(BindableObject, BindableProperty, Func<TSource,TProperty>, BindingMode, IValueConverter, Object, String, Object, Object, Object)

Создает привязку между свойством исходного объекта и свойством целевого объекта.

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