Я использую выпадающий с проверкой и кнопки сохранения следующим образом:C# WPF или логические ворота между ValidationRules
<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>
И это прекрасно работает. Кнопка сохранения включена, если все элементы действительны.
Я хочу, чтобы кнопка сохранения включалась также, когда элементы отключены (другими словами, мне не нужно проверять значения отключенных элементов).
Как я могу это сделать? могу ли я использовать условие «ИЛИ» (элемент действителен ИЛИ элемент отключен)?
Что такое 'ValidationRuleStringAnyLength'? Что-то свое? Можете ли вы изменить это, чтобы он также отключил проверку? –
Возможно, вы можете передать элемент в свойство вашего правила 'ValidationRuleStringAnyLength' и проверить, включено ли оно? Что-то вроде '
@MikeEason Это то, что я, вероятно, сделаю, если не найду лучшего способа. Я просто подумал, что у меня есть способ проверить * OR * между условиями в xaml ... – user1028741