【问题标题】:Xamarin - ActivityIndicator takes time to appearXamarin - ActivityIndi​​cator 需要时间才能出现
【发布时间】:2019-04-03 07:22:45
【问题描述】:

我有一个带有

的按钮
await this.Navigation.PushModalAsync

该命令在单击时运行。 我想在按下时显示 ActivityIndi​​cator,这是我的按钮单击命令:

async void ButtonClicked(object sender, EventArgs e)
{
    actCentros.IsRunning = true;
    await this.Navigation.PushModalAsync(...);
    actCentros.IsRunning = false;
}

这大约需要 1 秒钟才能出现。如果没有PushModalAsync,它会在点击时出现。

为什么会这样?

【问题讨论】:

  • 这不是足够的代码,但据我所知,您的按钮按下是一种异步方法,任何与 UI 相关的更改都必须在 MainThread 上调用。必须在 UI 线程上调用 ActivityIndi​​cator。我认为你有轻微延迟的原因是,因为你的代码正在等待执行方法中的内容,一旦完成,那就是 ActivityIndi​​cator 显示的时候。
  • 德克萨斯州。你有什么解决办法吗?
  • 动画是诀窍,正如solution中所解释的@
  • 你能添加足够多的代码来重现这个问题吗?

标签: xamarin xamarin.forms activity-indicator


【解决方案1】:

我发现的工作是将活动指示器的IsRunning 属性绑定到您的 ViewModel 上基于布尔值INotifyPropertyChanged 的属性,例如“IsProcessing”,并在命令的开头将其设置为 true执行委托方法,并在方法结束时返回 false。在单击绑定到命令的按钮时,我没有注意到这种方法有任何延迟。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-24
    • 2021-08-31
    • 2017-11-20
    • 1970-01-01
    • 2019-06-25
    • 2017-08-28
    • 1970-01-01
    相关资源
    最近更新 更多