Язык программирования C#9 и платформа .NET5 - Троелсен Эндрю
Запустите приложение и создайте условие для ошибки. Результат будет подобен тому, что показан на рис. 28.6, и укомплектован всплывающей подсказкой с сообщением об ошибке.

Определенный выше стиль изменяет внешний вид любого элемента управления
TextBoxErrorTemplateValidationErrorTemplateErrorTemplateПоместите элемент
SetterStyle.TriggersTextBlockBorderBrushTextBoxErrorTemplateAdornedElementPlaceholderValidation.ErrorsErrorContentStyle.TriggerSetter<Setter Property="Validation.ErrorTemplate"> <Setter.Value> <ControlTemplate> <DockPanel LastChildFill="True"> <TextBlock Foreground="Red" FontSize="20" Text="!" ToolTip="{Binding ElementName=controlWithError, Path=AdornedElement.(Validation.Errors)[0].ErrorContent}"/> <Border BorderBrush="Red" BorderThickness="1"> <AdornedElementPlaceholder Name="controlWithError" /> </Border> </DockPanel> </ControlTemplate> </Setter.Value></Setter>Запустите приложение и создайте условие для возникновения ошибки. Результат будет подобен представленному на рис. 28.7.

Итоговые сведения о проверке достоверности
На этом исследование методов проверки достоверности в WPF завершено. Разумеется, с их помощью можно делать намного большее. За дополнительными сведениями обращайтесь в документацию по WPF.
Создание специальных команд
Как и в разделе, посвященном проверке достоверности, можете продолжить работу с тем же проектом или создать новый проект и скопировать в него весь код из предыдущего проекта. Вы создадите новый проект по имени
WpfCommandsВ главе 25 объяснялось, что команды являются неотъемлемой частью WPF. Команды могут привязываться к элементам управления WPF (таким как
ButtonMenuItemExecute()CanExecute()ICommandРеализация интерфейса ICommand
Как было показано в главе 25, интерфейс
ICommandpublic interface ICommand{ event EventHandler CanExecuteChanged; bool CanExecute(object parameter); void Execute(object parameter);}Добавление класса ChangeColorCommand
Обработчики событий для элементов управления
ButtonCmdsChangeColorCornmand.csICommandusingusing WpfCommands.Models;using System.Windows.Input;Код класса должен выглядеть примерно так:
public class ChangeColorCommand : ICommand{ public bool CanExecute(object parameter) { throw new NotImplementedException();