我有一个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