Почему 1 из комбо боксов не правильно берёт привязку?

У меня есть вот эти 2 таблицы

введите сюда описание изображения

Таблица Teachers соединяется с другой таблицей по полю IdCenders

введите сюда описание изображения

Вот данные таблицы Genders

введите сюда описание изображения

Вот данные таблицы Teachers

введите сюда описание изображения

Вот 2 комбо бокса

<Grid Grid.Column="0">
                    <!--Пол-->
                    <ComboBox x:Name="cBCenders"  Width="auto" Margin="0 0 10 20" Height="30"  TabIndex="3"
                              
                              SelectedIndex="{Binding Teachers.IdCenders}"
                              FocusVisualStyle="{x:Null}"      
                              GotFocus="cBCenders_GotFocus"                      
                              DisplayMemberPath="Title">

                        <ComboBox.ToolTip>
                            <TextBlock Margin="10 0  0 0" Width="40" Text="Пол"/>
                        </ComboBox.ToolTip>

                    </ComboBox>
                    <fa:IconImage x:Name="iconCenders" Panel.ZIndex="1" Icon="VenusMars"
                                  HorizontalAlignment="Left"
                                  Foreground="Gray" Margin="10 -20 0 0"/>
                    <!--/Пол-->                                               
                </Grid>

                <Grid Grid.Column="1">
                    <!--Класс-->
                    <ComboBox x:Name="cBClasses" Width="auto" Height="30" Margin="0 0 0 20" TabIndex="3"
                              SelectedIndex="{Binding Teachers.IdClasses}" FocusVisualStyle="{x:Null}"      
                              GotFocus="cBClasses_GotFocus"                      
                              DisplayMemberPath="Number">

                        <ComboBox.ToolTip>
                            <TextBlock Margin="20 0  0 0" Width="80" Text="Мой класс"/>
                        </ComboBox.ToolTip>

                    </ComboBox>
                    <fa:IconImage x:Name="iconClasses" Panel.ZIndex="1" Icon="Users"
                                  HorizontalAlignment="Left"
                                  Foreground="Gray" Margin="10 -20 0 0"/>
                    <!--/Класс-->                                                
                </Grid>

Класс правильно берётся а пол нет (

Захожу под мужчиной , комбо бокс с полом записывает в себя Ж.

Захожу под женщиной, записывает пустое значения в себя, при этом в обоих случаях Выпадающий список присутствует.

Причём привязка во всех комбо боксах одинакова идёт

    public partial class EditUserPage : Page
    {
        public EditUserPage()
        {
            InitializeComponent();
 
            cBItems.ItemsSource = App.DataBase.Items.ToList();
            cBClasses.ItemsSource = App.DataBase.Classes.ToList();
            cBCenders.ItemsSource = App.DataBase.Genders.ToList();
            border.DataContext = App.DataBase.Users.Where(p => p.IdTeachers.ToString() == DateUser.Id).ToArray();
            DataContext = border;
}

Когда выбираю М, выдаёт исключение введите сюда описание изображения

Вот весь код кнопки

 private void btnSave_Click(object sender, RoutedEventArgs e)
    {
        StringBuilder errors = new StringBuilder();

        tBPassword.Text = pBPassword.Password;

        if (string.IsNullOrWhiteSpace(tBName.Text))
        {
            errors.AppendLine("\nВведите имя");
        }
        if (string.IsNullOrWhiteSpace(tBSurName.Text))
        {
            errors.AppendLine("\nВведите фамилию");
        }
        if (string.IsNullOrWhiteSpace(tBAdres.Text))
        {
            errors.AppendLine("\nВведите адрес");
        }

        if (!tBPhone.IsMaskCompleted)
            errors.AppendLine("Номер телефона слишком короткий");

        if (string.IsNullOrWhiteSpace(cBItems.Text))
        {
            errors.AppendLine("\nВыберите свой предмет");
        }

        if (string.IsNullOrWhiteSpace(cBCenders.Text))
        {
            errors.AppendLine("\nВыберите пол");
        }

        if (string.IsNullOrWhiteSpace(cBClasses.Text))
        {
            errors.AppendLine("\nВыберите свой класс");
        }

        if (string.IsNullOrWhiteSpace(tBLogin.Text))
        {
            errors.AppendLine("\nВведите логин");
        }

        if (string.IsNullOrWhiteSpace(pBPassword.Password))
        {
            errors.AppendLine("\nВведите пароль");
        }


        if (errors.Length > 0)
        {
            MessageBox.Show(errors.ToString(), "Информация", MessageBoxButton.OK, MessageBoxImage.Information);
            return;
        }

        if (tBId.Text != "0")
        {
            try
            {
                string logindChek = "SELECT * FROM Users WHERE Login ='" + tBLogin.Text + "'";
                string updateLoginPassword = $"UPDATE Users SET Login ='{tBLogin.Text}' , password ='{tBPassword.Text}' Where IdTeachers ='{DateUser.Id}'";
                var sql = App.DataBase.Users.SqlQuery(logindChek).ToArray();

                if (tBLogin.Text == DateUser.Login)
                {
                    try
                    {
                        var update = App.DataBase.Database.ExecuteSqlCommand(updateLoginPassword);

                        MessagesInfo.SaveDate();
                        App.DataBase.SaveChanges();
                        NavigationManager.StartFrame.Navigate(new MainPagesTechers());
                    }
                    catch (Exception en)
                    {
                        MessageBox.Show(en.Message.ToString());
                    }
                }

                else if (tBLogin.Text != DateUser.Login)
                {

                    sql = App.DataBase.Users.SqlQuery(logindChek).ToArray();

                    if (sql.Length != 0)
                    {
                        MessagesInfo.ErrorLogin();
                    }
                    else if (sql.Length == 0)
                    {
                        try
                        {
                            MessagesInfo.SaveDate();
                            App.DataBase.SaveChanges();
                            NavigationManager.StartFrame.Navigate(new MainPagesTechers());
                        }
                        catch (Exception en)
                        {
                            MessageBox.Show(en.Message.ToString());
                        }
                    }
                }
            }
            catch
            {
                MessagesInfo.ErrorServer();
            }
        }

Ответы (0 шт):