在大多数桌面应用中,如果您正在等待某事,鼠标光标将变为等待光标。显然,手机有点不同。但是,在UWP领域,我们希望鼠标光标在发生异步操作时更改为等待光标。
有没有办法在标准Xamarin表单中执行此操作?或者使用第三方库?
希望是在手机上,会有一些其他视觉指示器发生某些事情。即键盘颜色变化或类似的东西。
如果没有,我猜测我必须为每个平台实现一些依赖注入代码。有什么提示吗?
答案 0 :(得分:1)
不是UWP
问题的答案,但这是您可以通过电话处理的事情:
您可以在整个页面上添加Grid
,并将其设置为灰色和半透明,以使页面的其余部分变为“灰色”。然后在ActivityIndicator
的中间添加Grid
以指示正在加载某些内容。将IsVisible
的{{1}}设置为bool值,表示正在加载/发生某些内容。
这是我在其中一个页面上的内容:
Grid
答案 1 :(得分:0)
我对丹尼斯来说是一个类似的答案,可以重复使用。
我在App.xaml中创建了一个控件模板
<ControlTemplate x:Key="ActivityIndicatorTemplate">
<Grid>
<ContentPresenter />
<StackLayout Style="{StaticResource BlockingPanel}"
IsVisible="{TemplateBinding BindingContext.IsBusy}">
<ActivityIndicator Style="{StaticResource ActivityIndicatorStyle}"
IsVisible="{TemplateBinding BindingContext.IsBusy}"
IsRunning="{TemplateBinding BindingContext.IsBusy}" />
</StackLayout>
</Grid>
</ControlTemplate>
以下是样式
<Style x:Key="BlockingPanel" TargetType="StackLayout">
<Setter Property="BackgroundColor" Value="{StaticResource BlockingColor}" />
<Setter Property="HorizontalOptions" Value="FillAndExpand" />
<Setter Property="VerticalOptions" Value="FillAndExpand" />
</Style>
<Style x:Key="ActivityIndicatorStyle" TargetType="ActivityIndicator">
<Setter Property="Color" Value="White" />
<Setter Property="HorizontalOptions" Value="CenterAndExpand" />
<Setter Property="VerticalOptions" Value="CenterAndExpand" />
</Style>
<Color x:Key="BlockingColor">
<x:Arguments>
<x:Double>0</x:Double>
<x:Double>0</x:Double>
<x:Double>0</x:Double>
<x:Double>0.75</x:Double>
</x:Arguments>
</Color>
然后你就可以在任何这样的页面上使用它
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="Incident.Pages.LoginPage"
ControlTemplate="{StaticResource ActivityIndicatorTemplate}"
Title="Login">
...
</ContentPage>