Я предполагаю, что вы хотите получить данные из таблицы данных после их изменения.Если вы свяжете свой первоначальный список List (путая название здесь) с сеткой данных, он всегда будет обновляться без ручного вмешательства.
Самым чистым решением будет использование модели представления.
public class MyViewModel {
: INotifyPropertyChanged
public MyViewModel()
{
_myDataList = new List<Data>();
for (int i = 0; i < 2; i++)
{
_myDataList.Add(new Data()
{
Id = i.ToString(),
BankName = "Bank al habib"+i,
NcsDate = "23/12/2018",
InstrumentNo = "234"+i,
Type = "Type abc"+i
});
}
}
private List<Data> _myDataList;
public List<Data> MyDataList {
get { return _myDataList; }
set
{
_myDataList = value;
PropertyChanged.Invoke(this, new PropertyChangedEventArgs("MyDataList"));
}
}
public event PropertyChangedEventHandler PropertyChanged;
}
Этот класс содержит логику для создания вашего списка данных, к этому также могут быть добавлены дополнительные дополнения к вашему представлению.INotifyPropertyChanged гарантирует, что экран синхронизируется с данными, которые вы вводите в код.
Это позволяет вам просто создать модель представления и поместить ее как текстовый текст вашего представления.
private MyViewModel _viewModel;
public VehicleInOutWnd()
{
InitializeComponent();
_viewModel = new MyViewModel();
this.DataContext = _viewModel;
public void ClickButton()
{
// You could just access _viewModel.MyDataList for an up-to-date list.
}
}
XAML изменится на следующее для размещения нового текста данных.
<DataGrid Name="InstrumentGrid"
ItemsSource={Binding MyDataList}
VerticalAlignment="Top" HorizontalAlignment="left"
Margin="0,16,0,0" Grid.ColumnSpan="3" Grid.Row="19" Grid.RowSpan="2"
AutoGenerateColumns="False"
Width="422" Grid.Column="1">