gpt4 book ai didi

wpf - 处理时WPF MVVM更新状态

转载 作者:行者123 更新时间:2023-12-03 10:23:28 24 4
gpt4 key购买 nike

我正在使用WPF MVVM中的枚举状态表示的验证。单击按钮即可触发验证。
这是命令的枚举和代码:

public enum StatusTest {None, Ok, Error, Processing }

public ICommand TestConnectionCommand
{
get
{
if (_testConnectionCommand == null)
_testConnectionCommand = new RelayCommand(
() => this.Test());

return _testConnectionCommand;
}
}
void Test()
{
Status = StatusTest.Processing;
if ( ValidationMethod()) Status = StatusTest.Ok;
else Status = StatusTest.Error;
}

在按钮旁边,我有一个圆圈,与枚举StatusTest链接,该枚举通过状态更改更改了填充。
当前,它仅显示最终状态(正常或错误),不显示任何状态。如何在验证过程中通过颜色处理填充圆圈?

最佳答案

您的所有工作似乎都在UI线程上进行,因此状态的第一项设置不会生效。将您的代码更改为以下代码,以使Test()在其他线程上运行。

public enum StatusTest {None, Ok, Error, Processing }

public ICommand TestConnectionCommand
{
get
{
if (_testConnectionCommand == null)
_testConnectionCommand = new RelayCommand(
() => ThreadPool.QueueUserWorkItem(Test));

return _testConnectionCommand;
}
}
void Test(object state)
{
Status = StatusTest.Processing;
if ( ValidationMethod()) Status = StatusTest.Ok;
else Status = StatusTest.Error;
}

关于wpf - 处理时WPF MVVM更新状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18065309/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com