我正在开发一个自我管理应用程序,我需要实现一个不活动计时器或类似的东西来了解用户是否空闲(在 x 时间内不与视图交互),因此当发生这种情况时,它会返回主页。
这可能吗?已检查应用程序生命周期文档,但没有找到任何相关信息。
我正在考虑为每个视图制作一个计时器,当时间到来时 x 重定向,但它似乎不太理想。有没有办法将其直接集成到应用程序中,或者我真的必须为每个视图设置一个计时器吗?
抱歉,如果我的问题不清楚。请询问,如果没有意义我可以更新。
我们知道,没有直接的方法可以在 MAUI 中创建 WPF 应用程序,是否有其他方法可以使用 .NET MAUI 创建 WPF 应用程序?
我想将点击手势识别器与 ICommand 一起使用,这意味着使用 ViewModel 而不是后面的代码。
我正在通过后面的代码使手势识别器工作,如下所示
主页.xaml
<CollectionView Margin="10,0,10,0"
ItemSizingStrategy="MeasureAllItems"
ItemsLayout="VerticalList"
VerticalScrollBarVisibility="Always"
ItemsSource="{Binding QuestionPacks}">
<CollectionView.ItemTemplate>
<DataTemplate x:DataType="model:QuestionPack">
<Frame Margin="5"
CornerRadius="10">
<Frame.GestureRecognizers>
<TapGestureRecognizer
Tapped="TapGestureRecognizer_Tapped"/>
<TapGestureRecognizer
NumberOfTapsRequired="2"
Tapped="TapGestureRecognizer_Tapped_1"/>
</Frame.GestureRecognizers>
<VerticalStackLayout Margin="5">
<Label Text="{Binding Topic}" />
<Label Text="{Binding TopicId}" />
</VerticalStackLayout>
</Frame>
</DataTemplate>
</CollectionView.ItemTemplate>
</CollectionView>
Run Code Online (Sandbox Code Playgroud)
请注意x:DataType=model:QuestionPack数据模板中的 。
主页.xaml.cs
private async void TapGestureRecognizer_Tapped(object sender, EventArgs e)
{
var selectedItem = ((VisualElement)sender).BindingContext as QuestionPack;
if (selectedItem == null)
return;
LoadingQuestions.IsRunning = true;
LoadingQuestions.IsEnabled = true;
await Shell.Current.GoToAsync($"{nameof(QuestionsPage)}?topicSelected={selectedItem.TopicId}");
LoadingQuestions.IsRunning = false;
LoadingQuestions.IsEnabled = false; …Run Code Online (Sandbox Code Playgroud) 我正在尝试添加启动画面,如文档中所述:
<MauiSplashScreen Include="Resources\appsplash.svg" Color="#fff" />
Run Code Online (Sandbox Code Playgroud)
资源位于具有“MauiSplashScreen”构建操作的适当目录中
在 Windows 上可以正常调试,但尝试在 Android 上构建/调试会出现以下错误:
Error APT2061 failed linking file resources.
Error APT2260 resource drawable/appsplash (aka appname:drawable/appsplash) not found.
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?