DataTrigger 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示任意绑定条件的类,以及满足条件时将应用的 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”时,“输入”文本将颜色更改为红色。 当用户完成机密时,“标签”文本将变为绿色。 如果用户随后编辑机密,则代码将恢复为默认颜色。 此示例演示如何绑定到封闭控件 (Entry from Entry) ,以及绑定到一个仲裁控件 (Label 中的 Entry)
<?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 | |
TargetType |
TriggerBase 对象可附加到的对象类型。 (继承自 TriggerBase) |
Value |
获取或设置由 Binding 属性命名的绑定的值,它将导致资源库被应用。 |
方法
事件
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 对象列表。 |