По сути, мне нужно создать таймер Dispatcher, сохранить переменную в массиве по мере ее подсчета, а затем отобразить массив истории в текстовом поле, когда я нажимаю кнопку rawDataButton. По какой-то причине мой массив показывает только самые последние и никогда не сохраняется в массиве, вот мой код
DispatcherTimer timer = new DispatcherTimer();
MeasureLengthDevice dg = new MeasureLengthDevice();
int mostRecnet = 0;
int[] arr = new int[10];
private void StartCollectingDataButton_Click(object sender, RoutedEventArgs e)
{
timer.Interval = new TimeSpan(0, 0, 1);
timer.Start();
timer.Tick += timer_Tick;
}
private void timer_Tick(object sender, object e)
{
mostRecnet = dg.GetMeasurement();
recentDataTextBlock.Text = mostRecnet.ToString();
for(int i = 0; i < arr.Length; i++)
{
arr[i] = mostRecnet;
}
}
private void stopCollectingDataButton_Click(object sender, RoutedEventArgs e)
{
timer.Stop();
}
private void rawDataButton_Click(object sender, RoutedEventArgs e)
{
for (int i = 0; i < arr.Length; i++)
{
mostRecnet = arr[i];
rawDataTextBox.Text += arr[i].ToString() + "\n";
}
}
List<int>
, а не массив. Нет необходимости вручную организовывать массив. - person Christopher   schedule 27.10.2019timer.Tick += timer_Tick;
из обработчика Click в конструктор или метод инициализации. И конечно же, параллелизм с DispatcherTimer вообще не проблема, потому что весь ваш код выполняется в потоке пользовательского интерфейса. Вы можете смело игнорировать этот комментарий и ответ. - person Clemens   schedule 27.10.2019