Я работаю над WPF-приложением, в котором я делаю валидацию с сочетанием правил IDataErrorInfo и проверки. Для отображения результатов проверки во время выполнения я создал некоторые стили в XAML окна. Один из этих стилей следует отключить кнопку сохранения, до тех пор, пока существует ошибка ввода:Могу ли я применить определенный стиль для результатов проверки до одной кнопки?
<Window.Resources>
<!--Disabling the Save-button by style not viewmodel-property-->
<Style TargetType="{x:Type Button}">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=tbx_firstname, Path=(Validation.HasError)}" Value="true">
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
<DataTrigger Binding="{Binding ElementName=tbx_lastname, Path=(Validation.HasError)}" Value="true">
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
<DataTrigger Binding="{Binding ElementName=tbx_age, Path=(Validation.HasError)}" Value="true">
<Setter Property="IsEnabled" Value="False"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Window.Resources>
У меня есть две проблемы:
Стиль выключает все кнопки на окне. Что я могу сделать, чтобы отключить кнопку сохранения? Я попытался следующий, но там, кажется, синтаксический ошибкой (VS не принимает его):
<Style TargetType="{x:Name btn_save}">
В стиле для кнопки сохранения я должен проверить каждый элемент управления, проверенные. Есть ли еще одна возможность сделать эту часть короче и менее подверженной ошибкам (потому что она должна сочетаться с viewmodel)?
Заранее благодарен!
Большое спасибо Manfred! Я обнаружил то же самое минуту назад. Просто маленький ключ делает такую разницу. –