Xamarin.forms 设置Xamarin表单中特定时间长度的属性

Xamarin.forms 设置Xamarin表单中特定时间长度的属性,xamarin.forms,Xamarin.forms,我开始熟悉Xamarin.Forms,并尝试在特定的时间内显示一些内容,例如10秒,然后将内容还原到原来的状态 我使用bool属性DisplayNotification绑定到IsVisible属性 xaml代码: <ContentView Style="{DynamicResource headerContentViewStyle}" IsVisible="{Binding DisplayNotification, Converter={StaticResou

我开始熟悉Xamarin.Forms,并尝试在特定的时间内显示一些内容,例如10秒,然后将内容还原到原来的状态

我使用bool属性
DisplayNotification
绑定到IsVisible属性

xaml代码:

<ContentView Style="{DynamicResource headerContentViewStyle}" IsVisible="{Binding DisplayNotification, Converter={StaticResource inverter}}">
    <Label Style="{DynamicResource labelHeaderStyle}" Text="{Binding SelectTaskHeader}" />
</ContentView>
<ContentView Style="{DynamicResource headerContentViewStyle}" IsVisible="{Binding DisplayNotification}">
    <Label Style="{DynamicResource labelHeaderStyle}" Text="{Binding SelectAltTaskHeader}" />
</ContentView>
因此,在视图模型中,无论在哪里显示
DisplayNotification=true
,都会显示
SelectAltTaskHeader
,无论在哪里显示
DisplayNotification=false
,都会显示
SelectTaskHeader

我希望能够将DisplayNotification=true设置为特定的时间量,例如10秒


我使用的是Xamarin.Forms version=“2.3.3.180”。

正如建议的那样,您可以使用计时器,但我认为我可能只使用async/await。您可以这样做:

async Task DisplayNotifcationForTenSeconds()
{
    DisplayNotification = true;
    await Task.Delay(TimeSpan.FromSeconds(10));
    DisplayNotification = false;
}

正如建议的那样,您可以使用计时器,但我认为我可能只使用async/await。您可以这样做:

async Task DisplayNotifcationForTenSeconds()
{
    DisplayNotification = true;
    await Task.Delay(TimeSpan.FromSeconds(10));
    DisplayNotification = false;
}

你看过Device.StartTimer吗?不要使用Device.StartTimer,请使用System。Timers@Jason原因?Device.StartTimer是在Forms 1.x中引入的,因为PCL项目中没有正常的.NET计时器。既然.NET Standard已经取代了PCL,您可以只使用标准Timers类,它更灵活,我使用的是Forms version=“2.3.3.180”,Timers类看起来不可用。您看过Device.StartTimer吗?不要使用Device.StartTimer,请使用System。Timers@Jason原因?Device.StartTimer是在Forms 1.x中引入的,因为PCL项目中没有正常的.NET计时器。既然.NET标准已经取代了PCL,您可以只使用标准Timers类,它更灵活,我使用的是Forms version=“2.3.3.180”,Timers类看起来不可用。