上下文
我正在逐步发现Exrin基础设施。我探索了很多准备使用infra元素来在后台实现命令执行。在那些我看到IsBusyDelay,VisualState.IsBusy,Timeout消息等等。我也知道Exrin不依赖于Xamarin.Forms,所以我想,Exrin不应该提供真正的视觉实现,最后一步仍然留在我身上。 (这很酷,让我决定UI体验)
在我的ViewModel中,我设置了IsBusyDelay = 1000;
。后台任务由Execution.ViewModelExecute(... my task here ..., currently 5000msec delay )
问题
我想现在我必须在某个地方实现一个自动调用的处理程序或覆盖,并实现一些可视化用户体验以显示和隐藏繁忙/进入的用户体验反馈。我只是不知道在哪里以及如何...
答案 0 :(得分:1)
这是您在视图中自己实现的内容。例如,如果您想要覆盖整个屏幕的内容,并带有加载指示符,则可以将其添加到UI中。
<Grid HorizontalOptions="FillAndExpand"
IsVisible="{Binding VisualState.IsBusy}"
BackgroundColor="#E6272C30"
VerticalOptions="FillAndExpand">
<Grid HorizontalOptions="Center" VerticalOptions="CenterAndExpand"
Height="200">
<ActivityIndicator Grid.Row="0"
IsRunning="{Binding VisualState.IsBusy}"
IsVisible="{Binding VisualState.IsBusy}">
<ActivityIndicator.Scale>
<OnPlatform x:TypeArguments="x:Double" Android="1" iOS="1.3" />
</ActivityIndicator.Scale>
</ActivityIndicator>
</Grid>
</Grid>
您可以在现有网格内的页面底部添加它。
然后当IsBusy被触发时,它会将其显示为覆盖图,带有活动指示符。
当然,这只是一种方法。你可以在一个活动指示器旁边,或者只是点击一个按钮,或者任何类似的按钮。这完全取决于您的UI设计。