Сетка данных и наблюдаемый сбор в WPF

У меня есть таблица данных, как показано ниже в моем приложении WPF.


    
    
            
                
                       
                        
                                      
                        
                    
                
                
                    
                        
                            
                        
                    
                
            
        
         Save
    

Я связываю это, используя следующий код. Теперь мое требование - когда пользователь вводит какой-то текст в эти текстовые поля внутри сетки данных и нажимает кнопку «Сохранить», он должен обновить базу данных. Как мне этого добиться?

namespace MyApp
{
    public partial class TestWindow: Window
    {
        private ObservableCollection _testSource
        public ObservableCollection TestSource
        {
            get
            {
                return _testSource;
            }
            set
            {
                _testSource = value;
                OnPropertyChanged("TestSource");
            }
        }

        public event PropertyChangedEventHandler PropertyChanged;
        private void OnPropertyChanged(string propName)
        {
            if (PropertyChanged != null)
            {
                PropertyChanged.Invoke(this, new PropertyChangedEventArgs(propName));
            }
        }

        public TestWindow()
        {
            InitializeComponent();
            TestSource= new ObservableCollection();
             string strConnString = Application.Current.Properties["connectionStr"].ToString();
             SqlConnection con = new SqlConnection(strConnString);
            SqlCommand cmd = new SqlCommand("SELECT Column1,Column2 FROM MyTable", con);
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            DataTable dtTest = new DataTable();
            da.Fill(dtTest);
            foreach (DataRow row in dtTest)
            {
                Test cd = new Test();
                cd.Column1 = row["Column1"].ToString();
                cd.Column2 = row["Column2"].ToString();
                TestSource.Add(cd);
            }
            this.DataContext = this;
        }

        private void SaveButton_Click(object sender, RoutedEventArgs e)
        {
             // here I need to get the updated ObservableCollection, but now it is showing old data
             foreach Test t in TestSource)
            {
                string a = t.Column1;
                string b = t.Column2;
            }
        }
    }

    public class Test: 
    {
        public string Column1{ get; set; }
        public string Column2{ get; set; }
    }
}

Спасибо

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

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