我已被通過插座相連接的硬件,因爲不同的線程擁有它調用線程不能訪問該對象,WPF
現在我必須檢查硬件在其被示出每5秒鐘連接或不通過複選框
我實現了一個功能:
private static System.Timers.Timer aTimer;
public MainWindow()
{
InitializeComponent();
client.BeginConnect(remoteEP, new AsyncCallback(ConnectCallback), client);
aTimer = new System.Timers.Timer();
aTimer.AutoReset = true;
aTimer.Elapsed += new ElapsedEventHandler(OnTimedEvent);
aTimer.Interval = 2000;
aTimer.Enabled = true;
}
private void OnTimedEvent(object source, ElapsedEventArgs e)
{
if (client.Connected == true)
{
Console.WriteLine("Not Connected");
CheckBox.IsChecked = false;
}
else
{
Console.WriteLine("Connected");
CheckBox.IsChecked = false;
}
}
但是當我運行的應用程序則拋出錯誤。
調用線程不能訪問此對象,因爲不同的線程擁有它。
我研究了一下Dispatcher.Invoke但是我不能在我的代碼中實現它。
Duad Khan:上面的示例給出了我錯誤: 無法將Lambda表達式轉換爲'System.delegate',因爲它不是委託類型 –
檢查我編輯的編輯。有關此錯誤的更多信息:(http://stackoverflow.com/questions/9549358/cannot-convert-lambda-expression-to-type-system-delegate) –
完美的人.. 謝謝噸! :):D –