Хочу написать секундомер в UWP на C#. В конструкторе добавил кнопку и текст бокс с именем label1. Написал такой код:
using System;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using System.Threading.Tasks;
using System.Timers;
using System.Diagnostics;
namespace Stopwatcher
{
public sealed partial class MainPage : Page
{
public MainPage()
{
this.InitializeComponent();
}
private static System.Timers.Timer aTimer;
public void MyMain()
{
SetTimer();
}
private void SetTimer()
{
aTimer = new System.Timers.Timer(100);
aTimer.Elapsed += OnTimedEvent;
aTimer.AutoReset = true;
aTimer.Enabled = true;
}
private void OnTimedEvent(Object source, ElapsedEventArgs e)
{
label1.Text = "test";
Debug.WriteLine(e.SignalTime);
}
private void Button_Click(object sender, RoutedEventArgs e)
{
MyMain();
label1.Text = "wdfsff";
Debug.WriteLine("CYKA");
}
}
}
Но при клике на кнопку, вываливается такая ошибка: System.Exception: "Приложение обратилось к интерфейсу, относящемуся к другому потоку. (Exception from HRESULT: 0x8001010E (RPC_E_WRONG_THREAD))"
В интернете не могу найти решение. Помогите пожалуйста.