Cześć, chodzi o to, że robię sobie walidację z użyciem IDataErrorInfo. Mój model wygląda w uproszczeniu tak:

public class Model: ObservableBase, IDataErrorInfo
{
  string name;
  public string Name
  {
    get { return name; }
    set
    {
        if(name != value)
        {
            name = value;
            NotifyPropertyChanged();
        }
    }

    public string Error
    {
        get { return string.Empty; }
    }

    public string this[string propertyName]
    {
        get
        {
            switch(propertyName)
            {
                case "Name":
                    if(string.IsNullOrWhitespace(name))
                        return "Name is required";
                    
            }

           return string.Empty;
        }
    }
  }
}

W uproszczeniu mój XAML wygląda tak:

<app:DialogContentControl
    Validation.ErrorTemplate="{x:Null}">
    <TextBox Margin="0,0,5,5"
                     x:Name="nameEdit"
                     Text="{Binding Name, ValidatesOnDataErrors=True, UpdateSourceTrigger=LostFocus}"/>
</app:DialogContentControl>

DialogContentControl dziedziczy po UserControl.

Teraz tak, gdy textbox traci focus i jest zgłoszony błąd, textbox ładnie zgłasza, ale dodatkowo CAŁE USERCONTROL jest w czerwonej ramce. Czemu tak? Już próbowałem różnych ustawień w różnych miejscach jeśli chodzi o Validation.ErrorTemplate=null, ale zawsze ta ramka pojawia się na całym usercontrol.

Teraz pytania moje są takie:

  1. Czemu tak jest, że całe UserControl dostaje ramkę?
  2. Jak zrobić, żeby UserControl nie dostawało ramki?