Проверка ошибок привязки в коде, а не в XAML - PullRequest
0 голосов
/ 28 сентября 2018

Я понимаю, как связывать и обрабатывать ошибки проверки при установке события в XAML, как показано ниже, что мне теперь нужно сделать, это добавить тот же обработчик ошибок, но полностью в коде без XAML, так как я добавляю элементы управленияво время выполнения в коде.Я искал, но не могу найти ничего, что укажет мне правильное направление.

<Grid>
    <TextBox Validation.Error="TextBox_Error" />
</Grid>

Ответы [ 2 ]

0 голосов
/ 28 сентября 2018

Вы также можете установить Binding для элемента управления и добавить ValidationRules для привязки

            TextBox txtBox = new TextBox();
            txtBox.DataContext = // Your data;

            Binding binding = new Binding();
            binding.Path = // Set path;
            binding.UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged;
            binding.ValidatesOnDataErrors = true;
            binding.NotifyOnValidationError = true;
            binding.ValidationRules.Add(// Your ValidationRule class);
            txtBox.SetBinding(TextBox.TextProperty, binding);
0 голосов
/ 28 сентября 2018

Если вы правильно поняли, вот что вы ищете:

var element = yourRunTimeControl as DependencyObject;
System.Windows.Controls.Validation.AddErrorHandler(element, ErrorHandler)

private void ErrorHandler(object sender, System.Windows.Controls.ValidationErrorEventArgs e)
{
    ...
}

Подробнее о Validation.Error прикрепленном событии здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...