我正在使用带有验证和保存按钮的组合框,如下所示:
<ComboBox ItemsSource="{Binding ...}"
x:Name="cmbGenerationTariff" IsEnabled="False" >
<ComboBox.SelectedItem>
<Binding Path="..." UpdateSourceTrigger="PropertyChanged" Mode="TwoWay">
<Binding.ValidationRules>
<common:ValidationRuleStringAnyLength ValidatesOnTargetUpdated="True"/>
</Binding.ValidationRules>
</Binding>
</ComboBox.SelectedItem>
</ComboBox>
...
<Button x:Name="btnSaveSite" Click="btnSave_Click" Content="SAVE">
<Button.Style>
<Style TargetType="{x:Type Button}">
<Setter Property="IsEnabled" Value="false" />
<Style.Triggers>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding ElementName=cmbGenerationTariff, Path=(Validation.HasError)}" Value="false" />
<Condition Binding="{Binding ElementName=cmbTimeZone, Path=(Validation.HasError)}" Value="false" />
<Condition Binding="{Binding ElementName=txtCity, Path=(Validation.HasError)}" Value="false" />
<Condition Binding="{Binding ElementName=cmbCountry, Path=(Validation.HasError)}" Value="false" />
</MultiDataTrigger.Conditions>
<Setter Property="IsEnabled" Value="true" />
</MultiDataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
它工作得很好。如果所有元素都有效,则启用保存按钮。
我想要的是在禁用元素时也启用保存按钮(换句话说,我不需要验证禁用元素的值)。
我该怎么做?我可以使用“或”条件(元素有效或元素被禁用)吗?