private void show_software(object sender, RoutedEventArgs e)
        {
            Button btn = (Button)sender;

            currentDG = (DataGrid)btn.Parent;
            DataGridRow row = Helper.detect_selected_row((DependencyObject)e.OriginalSource);

            currentDG = ItemsControl.ItemsControlFromItemContainer(row) as DataGrid;
            int index = currentDG.ItemContainerGenerator.IndexFromContainer(row);

            if (index == -1)
            {
                return;
            }
            if (currentDG.Name.Equals("allSoftwareDG"))
            {
                Software_Info si = new Software_Info(all.ElementAt(index));

                si.Closed += new EventHandler((sender2, e2) => check_data(sender2, e2));
                si.ShowDialog();
            }
            else
            {
                Software_Info si = new Software_Info(added.ElementAt(index));
                si.Closed += new EventHandler((sender2, e2) => check_data_added(sender2, e2));
                si.ShowDialog();
            }
        }
        private void show_software(object sender, RoutedEventArgs e)
        {
            Software_Info si = new Software_Info((Software)dataGrid.SelectedItem);

            si.Closed += new EventHandler((sender2, e2) => check_data(sender2, e2));

            si.ShowDialog();
        }