Схема размещения ошибок - PullRequest
       4

Схема размещения ошибок

0 голосов
/ 02 февраля 2012
<ControlTemplate x:Key="DefaultErrorTemplate">
        <DockPanel LastChildFill="True">
            <DKMS:WarningImage Margin="10,0,0,0"
                               DockPanel.Dock="Right"
                               Notification="{Binding ElementName=MyAdorner,
                                                      Path=AdornedElement.(Validation.Errors)[0].ErrorContent}" />
            <AdornedElementPlaceholder Name="MyAdorner" />
        </DockPanel>
</ControlTemplate>

И в стиле текстового поля:

<Setter Property="Validation.ErrorTemplate" Value="{StaticResource DefaultErrorTemplate}" />

enter image description here

Вопрос в том, как заставить обновление макета, которое запускается при наведении мыши? Это также вызвано MessageBox.

1 Ответ

0 голосов
/ 02 февраля 2012

Если это ErrorTemplate, вы отображаете его, сообщая системе привязки, что привязка недействительна. Обычно это делается через интерфейс IDataErrorInfo. Но опять же, это предполагает, что вы используете какое-то связывание с TextBox, обычно это свойство Text.

Вот сообщение в блоге на эту тему: http://weblogs.asp.net/marianor/archive/2009/04/17/wpf-validation-with-attributes-and-idataerrorinfo-interface-in-mvvm.aspx

Звучит, как будто вы используете программирование, основанное на событиях, и поэтому я не думаю, что вы хотите использовать Validation.ErrorTemplate, похоже, что вы действительно хотите создать некоторые специальные украшения. Возможно, вы захотите проверить этот пост CodeProject: http://www.codeproject.com/Articles/54472/Defining-WPF-Adorners-in-XAML на эту тему.

...