2013-08-19 2 views
0

Мне нужно заполнить поле со списком на стр. 1 с информацией о адресе выбранного имени, содержащейся в другом поле со списком, содержащемся на странице MainWindow. Я пробовал код ниже, но имя combobox в MainWindow не распознается.Связать две страницы в wpf

MainWindow:

private void displayParts() 
    { 
     try 
     { 
      sc.Open(); 
      string Query = "select * from Parts"; 
      SqlCommand createCommand = new SqlCommand(Query, sc); 
      SqlDataReader dr = createCommand.ExecuteReader(); 
      while (dr.Read()) 
      { 
       string Name = dr.GetString(1); 

       cbParts.Items.Add(Name);//Displaying a list in the Combo Box 
      } 
      sc.Close(); 
     } 
     catch (Exception ex) 
     { 
      MessageBox.Show(ex.Message); 
     } 
    } 

Page1:

private void ComboBox_SelectionChanged_1(object sender, SelectionChangedEventArgs e) 
    {    
     string constring = "Data Source=.;Initial Catalog=**.MDF;Integrated Security=True"; 
     DataContext=MainWindow. 
     string Query = "select * from Partners where Name='" + cbParts.SelectedItem.ToString() + "' ;"; 
     SqlConnection conDataBase = new SqlConnection(constring); 
     SqlCommand cmdDataBase = new SqlCommand(Query, conDataBase); 
     SqlDataReader myReader; 

     try 
     { 


      sc.Open(); 
      myReader = cmdDataBase.ExecuteReader(); 
      if (myReader.Read()) 
      { 
       txtPartner.Text = myReader["Name"].ToString(); 
      } 

      myReader.Close(); 


      sc.Close(); 
     } 
     catch (Exception ex) 
     { 
      MessageBox.Show(ex.Message); 
     } 
    } 
+0

Что именно исключение вы получаете здесь? –

+0

в стр. 1 cbParts не распознается - «cbParts не распознается в текущем контексте». – user2631662

ответ

0
// may need to cast this to your MainWindow's type 
var mainWindow = Application.Current.MainWindow; 

//... 

mainWindow.cbParts.Items.Add(Name); 

Кроме того, вы можете связать свой выпадающий к ObservableCollection собственности, а также добавлять элементы в коллекции.

Смежные вопросы