多觸發器
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 會禁用提交按鈕。