当我在.net MAUI中构建的应用程序的活动指示器正在运行时,我想禁用用户与页面的交互。我尝试创建一个透明的全屏视图来与页面重叠,并在活动指示器isRunning设置为true时将其可见性设置为true,但我仍然可以与页面交互。关于如何正确执行此操作的任何建议。
请参阅下面的示例代码以模拟该问题。
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns:local="clr-namespace:HomeMade.Extensions"
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:avatarview="clr-namespace:Syncfusion.Maui.Core;assembly=Syncfusion.Maui.Core"
x:Class="HomeMade.Pages.ShopListPage"
FlowDirection="RightToLeft"
NavigationPage.HasNavigationBar="False"
BackgroundColor="GhostWhite"
x:Name="Page"
>
<ContentPage.Content>
<StackLayout>
<local:NavigationControl PageTitle="المتاجر"/>
<AbsoluteLayout VerticalOptions="FillAndExpand">
<StackLayout
AbsoluteLayout.LayoutBounds="0.0,0.0,1.0,1.0"
AbsoluteLayout.LayoutFlags="All">
<!--- content -->
</StackLayout>
<BoxView x:Name="bxView"
AbsoluteLayout.LayoutFlags="All"
AbsoluteLayout.LayoutBounds="0,0,1,1"
BackgroundColor="Transparent"
/>
<ActivityIndicator x:Name="activity"
AbsoluteLayout.LayoutBounds="0.5,0.5,0.1,0.1"
AbsoluteLayout.LayoutFlags="All"
Color="Blue">
</ActivityIndicator>
</AbsoluteLayout>
</StackLayout>
</ContentPage.Content>
</ContentPage>
我在代码后面设置活动指示器和框视图可见性,如下所示,我使用任务延迟来测试功能。
bxView.IsVisible = true;
activity.IsRunning = true;
await Task.Delay(10000);
bxView.IsVisible = false;
activity.IsRunning = false;
该问题被报告为错误,您可以通过此链接了解状态https://github.com/dotnet/maui/issues/10252