小编Unh*_*ppy的帖子

如何强制显示忙碌指示器?(WPF)

我创建了一个繁忙的指标 - 基本上是一个标志旋转的动画.我已将其添加到登录窗口并将Visibility属性绑定到我的viewmodel的BusyIndi​​catorVisibility属性.

当我单击登录时,我希望在登录发生时显示微调器(它调用Web服务来确定登录凭据是否正确).但是,当我将可见性设置为可见时,然后继续登录,在登录完成之前不会显示微调器.在Winforms旧式编码中,我会添加一个Application.DoEvents.如何让微调器出现在MVVM应用程序的WPF中?

代码是:

        private bool Login()
        {
            BusyIndicatorVisibility = Visibility.Visible;
            var result = false;
            var status = GetConnectionGenerator().Connect(_model);
            if (status == ConnectionStatus.Successful)
            {
                result = true;
            }
            else if (status == ConnectionStatus.LoginFailure)
            {
                ShowError("Login Failed");
                Password = "";
            }
            else
            {
                ShowError("Unknown User");
            }
            BusyIndicatorVisibility = Visibility.Collapsed;
            return result;
        }
Run Code Online (Sandbox Code Playgroud)

wpf mvvm

8
推荐指数
1
解决办法
9369
查看次数

标签 统计

mvvm ×1

wpf ×1