title: comboBox with data from database and DataGrid in tabControl (xaml wpf C# Oracle DB)
body: <p>I have comboBox with data from database and DataGrid in tabControl.</p>
  
  <p>Everything working. 
  I select something in comboBox_1 on tabItem_1 (DataGrid_1 show table from DB for my choice value for ComboBox_1) and switch to tabItem_2 and select something in comboBox_2 (DataGrid_2 show table from DB for my choice value for ComboBox_2) </p>
  
  <p>but when I  back to TabItem_1 a had error from TabItem_1:</p>
  
  <blockquote>
    <p>The object reference was not set to the object instance</p>
  </blockquote>
  
  <p>when I clik 'ok' everything working.
  How I can fix it?</p>
  
  <p>XAML code: </p>
  
  <pre><code> &lt;TabItem Background="Bisque" ToolTip="W tym oknie możesz przeglądnąć historię wypożyczeń danej ksiązki, wybierz z ComboBoxa pozycje i przycisk kliknij wczytaj"&gt;
                  &lt;TabItem.Header&gt;
                      &lt;StackPanel Orientation="Horizontal" &gt;
                          &lt;TextBlock Text="Historia książęk"  FontSize="16" /&gt;
                      &lt;/StackPanel&gt;
                  &lt;/TabItem.Header&gt;
                  &lt;StackPanel&gt;
                      &lt;ComboBox x:Name="cBox_hisBooks"  HorizontalAlignment="Center" Margin="5" VerticalAlignment="Top" Width="300"  ToolTip="Rozwiń liste i wybierz książkę, której historie wypożyczeń chcesz wyświetlić" IsEnabled="True" Loaded ="cBox_hisBooks_Loaded" SelectionChanged="cBox_hisBooks_SelectionChanged"/&gt;
                      &lt;!-- DisplayMemberPath="HISTORies"--&gt;
                      &lt;DataGrid x:Name="dg_hisBooks" AutoGenerateColumns="False" VerticalAlignment="Center" Height="400"  ToolTip="Podgląd bazy danych z ewidencja czytelników wypożyczeń, aby odświeżyć naciśnij przycisk poniżej" Loaded="dg_hisBooks_Loaded" SelectionChanged="dg_hisBooks_SelectionChanged" Margin="10,5"&gt;
                          &lt;DataGrid.Columns&gt;
                              &lt;DataGridTextColumn Header="ID czytelnika" Binding="{Binding USER.USERID}"/&gt;
                              &lt;DataGridTextColumn Header="Imię czytelnika" Binding="{Binding USER.FIRSTNAME}"/&gt;
  </code></pre>
  
  <p>CS code:</p>
  
  <pre><code>private void cBox_hisBooks_Loaded(object sender, RoutedEventArgs e)      // ok 
          {
              try         // próba połaczenia z baza Oracle
              {
                  List&lt;BOOK&gt; books = new List&lt;BOOK&gt;();
                  using (EntitiesDBTest db = new EntitiesDBTest())
                  {
                      books = db.BOOKS.OrderBy(b =&gt; b.TITLE).ToList();
                  }
  
                  var combo_HB = sender as ComboBox; // zmienna przyjmujaca wartosc z ComboBoxa
                  combo_HB.ItemsSource = books;       // zrodlo opcji do wyboru
                  combo_HB.DisplayMemberPath = "GetTitleWithAuthor";
                  combo_HB.SelectedValuePath = "BOOKID";
                  // combo_HB.SelectedIndex = 1;        // domyslnie wybrana opcja (domyslnie 0 czyli pierwsza)
  
                  con.Close(); // zamkniecie bazy danych
  
              }
              catch (Exception Ex)
              {
                  MessageBox.Show("Błąd ładowania listy comboBoxa w historii książek\n " + Ex.Message, "Error 1", MessageBoxButton.OK, MessageBoxImage.Error);
              }
          }
  </code></pre>
  
  <p>and</p>
  
  <pre><code>    private void cBox_hisBooks_SelectionChanged(object sender, SelectionChangedEventArgs e) // ok
      {
          var selected_cBox_his_book_Item = sender as ComboBox; // przyjmuje wartosc z ComboBoxa
          choiceBook_his = (int)selected_cBox_his_book_Item.SelectedValue; 
  if (choiceBook_his == 0)
      MessageBox.Show("Aktualne pole ComboBox ma wartosc -1 lub 0\nWybierz wartośc z listy");}
  </code></pre>
  
  <p><a href="https://i.stack.imgur.com/TOSq4.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/TOSq4.jpg" alt="enter image description here"></a></p>