0
我正在讀取通過串口連接的秤上的重量。當體重改變時,秤會返回一個事件。這個事件工作的很好,但我無法改變事件處理程序中的WPF元素的值(嘗試標籤和文本框)與新的權重。事件回調後更改wpf元素
事件處理程序位於正確的窗口類中。
當我調用一個消息框來顯示重量時,一切都很好。
任何人都可以向我解釋如何在事件回調後更改wpf元素。這是我的回調函數。
public void OnWeightUpdate(string weight) {
if(String.IsNullOrEmpty(weight)) {
MessageBox.Show("Empty weight string, possible bad connection with scale");
}
else {
MessageBox.Show(weight);
LblScaleAmount.Content = weight;
}
}
嘗試做'Dispatcher.Invoke(()=> LblScaleAmount.Content =體重);' – Evk
謝謝很多,這的確有訣竅。請把你的表揚作爲答案,以便我可以接受。 –
在WPF中,最好的答案是簡單地使用數據綁定。很少需要調用Dispatcher.Invoke(),在這裏它肯定不太合適。有關如何執行此操作的詳細信息以及管理跨線程更新的其他方式,請參閱標記爲重複的內容。 –