C# 是否可以在xamarin表单中从第一页访问到第二页的进度条?
是否可以这样做: 我在第一页有一个进度条,我将其设置为IsVisible=false 我在第一页中创建了一个依赖项方法C# 是否可以在xamarin表单中从第一页访问到第二页的进度条?,c#,xamarin,xamarin.forms,progress-bar,C#,Xamarin,Xamarin.forms,Progress Bar,是否可以这样做: 我在第一页有一个进度条,我将其设置为IsVisible=false 我在第一页中创建了一个依赖项方法 [程序集:依赖项(typeof(page.view.FirstPage))] 公共接口进展 { void StartProgress(); } 公共部分类首页:ContentPage { 公共首页() { } public void StartProgress() { //你在这儿进阶吗 并设置进度条 IsVisible=true; } } 并从第一页到第二页访问该方法 示例
[程序集:依赖项(typeof(page.view.FirstPage))]
公共接口进展
{
void StartProgress();
}
公共部分类首页:ContentPage
{
公共首页()
{
}
public void StartProgress()
{
//你在这儿进阶吗
并设置进度条
IsVisible=true;
}
}
并从第一页到第二页访问该方法
示例我在第二页有一个按钮
private void Onpress(s,e)
{
DependencyService.Get().StartProgress();
Navigation.PopToRootAsync();
}
然后,第一页中的进度条将开始运行。。。。但是我的代码不起作用是的,您可以使用MessagingCenter来实现这一点。在第一页中,订阅一条消息:
public FirstPage()
{
MessagingCenter.Subscribe<SecondPage>(this, "StartProgress", (sender) =>
{
StartProgress();
});
}
public void StartProgress()
{
//do progression here
//and set Progress bar
IsVisible = true;
}
您可以在中找到文档
是否可以从第2页启动第1页的进度条?
是的,除了下面的答案之外,您还可以使用
Page1.Xaml
<StackLayout VerticalOptions="CenterAndExpand">
<ProgressBar
x:Name="ProgressBar1"
Progress="1"
ProgressColor="Red"
IsVisible="False" />
<Button Clicked="Button_OnClicked" Text="Click here"/>
</StackLayout>
<StackLayout VerticalOptions="EndAndExpand">
<Button Clicked="Button_OnClicked" Text="Start Progress"/>
</StackLayout>
Page2.Xaml
<StackLayout VerticalOptions="CenterAndExpand">
<ProgressBar
x:Name="ProgressBar1"
Progress="1"
ProgressColor="Red"
IsVisible="False" />
<Button Clicked="Button_OnClicked" Text="Click here"/>
</StackLayout>
<StackLayout VerticalOptions="EndAndExpand">
<Button Clicked="Button_OnClicked" Text="Start Progress"/>
</StackLayout>
注意:最好使用此方法而不是此方法
private void Button_OnClicked(object sender, EventArgs e)
{
Page1.StartProgressCommand.Execute(null);
Navigation.PopModalAsync(true);
}