我有一個MVVM C#項目,它在表單上有一個按鈕,用於執行一些處理。 這需要幾秒鐘的時間來處理,這很好。有一個相關的文本框,我想在處理過程中更改背景顏色。我一直在試圖做到這一點,但沒有成功。更改方法中的TextBox顏色
我有綁定到屬性的背景顏色,我改變了按鈕調用的方法的開始(通過命令綁定)。該方法完成該工作,然後將背景顏色設置回其默認顏色。單擊按鈕時屏幕上不會發生變化。
我已經嘗試將顏色更改代碼放入Dispatcher中,以使其發生在GUI線程上,但這仍然無效。
我現在很困惑。如何正確更改顏色?
private void SwitchRuns()
{
try
{
// Bound property (set up with Notification correctly)
//
CurRunTextBoxColor = Colors.Red;
UIServices.SetBusyState(true); // sets cursor to wait
...
Processing code
...
CurRunTextBoxColor = Colors.LightGreen;
}
catch (Exception exp)
{
log.Error("Exception in SwitchRuns" + exp);
}
}
什麼的結合看起來像你的文本框的背景是什麼? – Bijington
在進行代碼處理時,您是否阻止了Gui線程? – lokusking