WPF Validation ErrorTemplate para TextBox personalizado
Ramificação fora deisto pergunta -
Ao anexar um modelo de erro de validação à minha caixa de texto personalizada como esta -
<local:CustomTextBox CustomText="{Binding ViewModelProperty}" Validation.ErrorTemplate="{StaticResource errorTemplate}"/>
<ControlTemplate x:Key="errorTemplate">
<DockPanel>
<Border BorderBrush="Red" BorderThickness="1">
<AdornedElementPlaceholder x:Name="controlWithError"/>
</Border>
<TextBlock Foreground="Red" FontSize="20" FontFamily="Segoe UI" Margin="3,0,0,0" MouseDown="Exclamation_MouseDown" Tag="{Binding AdornedElement.(Validation.Errors)[0].ErrorContent, ElementName=controlWithError}">!</TextBlock>
</DockPanel>
</ControlTemplate>
Se houve um erro de validação no ViewModelProperty, meu aplicativo estava lançando uma exceção -
Key cannot be null.
Parameter name: key
Não sei por que isso está acontecendo. Há algo que precisa ser feito para atribuir um novo modelo de erro a um controle personalizado?
ATUALIZAR:
Eu descobri que o problema é com a propriedade Tag no modelo de erro. Se eu remover o Tag, funciona muito bem.
obrigado