在活动指示器运行.net MAUI时禁用用户交互



当我在.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

最新更新