Почему 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();
}
}



