多触发器
MultiTrigger 不是经常需要的,但在某些情况下它非常方便。MultiTrigger 的行为与 Trigger 或 DataTrigger 类似,但它有多个条件。所有条件必须适用于 Setters 才能开火。这是一个简单的例子:
<!-- Text field needs to be initialized in order for the trigger to work at start -->
<Entry x:Name="email" Placeholder="Email" Text="" />
<Entry x:Name="phone" Placeholder="Phone" Text="" />
<Button Text="Submit">
<Button.Triggers>
<MultiTrigger TargetType="Button">
<MultiTrigger.Conditions>
<BindingCondition Binding="{Binding Source={x:Reference email}, Path=Text.Length}" Value="0" />
<BindingCondition Binding="{Binding Source={x:Reference phone}, Path=Text.Length}" Value="0" />
</MultiTrigger.Conditions>
<Setter Property="IsEnabled" Value="False" />
</MultiTrigger>
</Button.Triggers>
</Button>
该示例有两个不同的条目,电话和电子邮件,其中一个需要填写。当两个字段都为空时,MultiTrigger 会禁用提交按钮。