C# 如何在Xamarin.Forms中实现转盘的活动指示器?
在启动旋转木马页面之前,我试图加入一个ActivityIndicator;这样,当转盘页面内容繁重时;用户将知道应用程序仍在加载/尚未挂起 为了解决这个问题,我正在使用一个旋转木马页面的示例: 我的主要方法是尝试修改按钮以在按钮命令中创建ActivityIndicator: 来自“SwitcherPage.cs”的原始样本 我的尝试 到目前为止我所知道的 智能感知已经告诉我这是错误的;我不能用那种方式在命令中定义它。但希望这能说明我想做什么;实际上,在等待页面加载时触发活动指示器 我已经在ActivityIndicator上查找了一般资源,但问题是我还没有找到任何可以将其转换为在等待加载转盘页面时按下按钮后激活的内容的资源C# 如何在Xamarin.Forms中实现转盘的活动指示器?,c#,xamarin,xamarin.forms,C#,Xamarin,Xamarin.forms,在启动旋转木马页面之前,我试图加入一个ActivityIndicator;这样,当转盘页面内容繁重时;用户将知道应用程序仍在加载/尚未挂起 为了解决这个问题,我正在使用一个旋转木马页面的示例: 我的主要方法是尝试修改按钮以在按钮命令中创建ActivityIndicator: 来自“SwitcherPage.cs”的原始样本 我的尝试 到目前为止我所知道的 智能感知已经告诉我这是错误的;我不能用那种方式在命令中定义它。但希望这能说明我想做什么;实际上,在等待页面加载时触发活动指示器 我已经在Ac
我不确定是否正确理解了您的问题,但是:
var indicator = new ActivityIndicator ();
var none = new Button {
HorizontalOptions = LayoutOptions.Center,
Text = "No pager indicator",
Command = new Command(async() => {
indicator.IsRunning = true;
indicator.IsVisible = true;
await Task.Delay(2500);
indicator.IsRunning = false;
indicator.IsVisible = false;
Navigation.PushAsync(new HomePage(CarouselLayout.IndicatorStyleEnum.None));
})
};
但是,为ViewModel属性设置适当的绑定并从中执行操作会更简洁。另一种解决方案是使用Device.StartTimer
var indicator = new ActivityIndicator ();
var none = new Button {
HorizontalOptions = LayoutOptions.Center,
Text = "No pager indicator",
Command = new Command(() => {
indicator.IsRunning = true;
indicator.IsVisible = true;
Device.StartTimer(Timespan.FromSeconds(2.5),()=>
{
indicator.IsRunning = false;
indicator.IsVisible = false;
Navigation.PushAsync(new HomePage(CarouselLayout.IndicatorStyleEnum.None));
return false;
});
});
};
var indicator = new ActivityIndicator ();
var none = new Button {
HorizontalOptions = LayoutOptions.Center,
Text = "No pager indicator",
Command = new Command(async() => {
indicator.IsRunning = true;
indicator.IsVisible = true;
await Task.Delay(2500);
indicator.IsRunning = false;
indicator.IsVisible = false;
Navigation.PushAsync(new HomePage(CarouselLayout.IndicatorStyleEnum.None));
})
};
var indicator = new ActivityIndicator ();
var none = new Button {
HorizontalOptions = LayoutOptions.Center,
Text = "No pager indicator",
Command = new Command(() => {
indicator.IsRunning = true;
indicator.IsVisible = true;
Device.StartTimer(Timespan.FromSeconds(2.5),()=>
{
indicator.IsRunning = false;
indicator.IsVisible = false;
Navigation.PushAsync(new HomePage(CarouselLayout.IndicatorStyleEnum.None));
return false;
});
});
};