Я создал поведение для проверки элемента управления при возникновении ошибки .Для поведения необходимо знать источник элемента управления Binding
(viewmodel), поскольку ViewModel
реализует IDataErrorInfo
, а поведение должно подписаться на событие the ErrorChanged
, чтобы выполнить соответствующее действие при возникновении ошибки.
Для этого я добавил свойство зависимости ValidationSource, которое всегда будет иметь значение "{Binding}"
.
<TextBox Text="{Binding LastName, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}">
<i:Interaction.Behaviors>
<b:MyValidateOnErrorBehavior PropertyName="LastName" ValidationSource="{Binding}" />
</i:Interaction.Behaviors>
</TextBox>
Это решение работает для меня, но я не хочу вводить ValidationSource="{Binding}"
все время.
Есть ли способ изнутри поведения добраться до экземпляра "{Binding}"
, не устанавливая его в свойстве зависимости?