Неожиданная красная граница (ошибка проверки) в DataGrid при выборе пустой строки

Когда я выбираю (щелкая или с помощью клавиатуры) пустую строку в моей DataGrid (когда я хочу добавить новую строку), возникает неожиданная ошибка проверки (но без исключения) - граница сетки данных меняется на красный цвет, как вы можете видеть на изображение ниже. Когда я нажимаю второй раз на пустой строке, красная рамка исчезает. Все остальное работает нормально, добавлен новый ряд. Кроме того, у меня нет никаких правил проверки. И когда я создаю строку с пустым текстом, значение является действительным.

Я не хочу такого поведения и этой красной границы, кто-нибудь знает, почему это происходит и как это исправить? Почему и где некоторые проверки не удается?

Ниже я добавляю некоторый исходный код:

Определение DataGrid в xaml:

    <DataGrid IsSynchronizedWithCurrentItem="True" DisplayMemberPath="Name" 
 ItemsSource="{Binding Path=ConfigFiles}" SelectedItem="{Binding Path=SelectedConfigFile}" 
              Grid.Column="1" Height="87" Margin="0,26,11,32" Style="{DynamicResource DataGridStyle}">
        <DataGrid.Columns>
            <DataGridTextColumn Width="1*" Binding="{Binding Name}" />
        </DataGrid.Columns>
    </DataGrid>

Моя часть ViewModel:

public class ManageModulesVM : BaseVM  // Implements INotifyPropertyChanged
{
    // ...

    public ObservableCollection<ConfigFile> ConfigFiles
    {
        get { return selectedModule == null ? null : selectedModule.ConfigFiles; }
        set
        {
            selectedModule.ConfigFiles = value;
            OnPropertyChanged(() => ConfigFiles);
        }
    }

    public ConfigFile SelectedConfigFile
    {
        get { return selectedModule == null ? null : selectedModule.SelectedConfigFile; }
        set
        {
            if (value != null)
            {
                selectedModule.SelectedConfigFile = value;
            }
            OnPropertyChanged(() => SelectedConfigFile);
            OnPropertyChanged(() => Parameters);
        }
    }

    // ...
}

Класс ConfigFile:

public class ConfigFile
{
    public string Name { get; set; }
    public IList<Parameter> Parameters { get; set; }

    public ConfigFile() { Name = ""; Parameters = new List<Parameter>(); }
}

Изменить: После дальнейшего изучения я знаю, что привязка SelectedItem вызывает проблемы (когда я удаляю эту привязку, ошибка проверки перестает появляться), но я все еще не знаю, почему и как это исправить.

Ответы на вопрос(5)

Ваш ответ на вопрос