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
- Наследование
- Атрибуты
- Реализации
Комментарии
Класс 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 для |
ClearValue(BindablePropertyKey) |
Очищает значение, заданное методом SetValue для свойства, которое определяется параметром |
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) |
Возвращает |
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, которые будут применяться при выполнении условия. |