C# 如何在xamarin.forms中使用viewmodel中的参数
我试图将参数传递给Xamarin.Forms中的viewmodel。但我也想在加载页面时使用它,用该参数调用rest服务。但在加载事件中,参数始终为null。(如果我将该参数绑定到标签或其他,我可以看到该参数。) 如何使其正常工作并在viewmodel的加载事件中使用该参数?谢谢你的帮助 这是按钮单击事件并导航到Samplepage 这是示例页面视图模型 这是SamplePage代码C# 如何在xamarin.forms中使用viewmodel中的参数,c#,visual-studio,xamarin,mvvm,xamarin.forms,C#,Visual Studio,Xamarin,Mvvm,Xamarin.forms,我试图将参数传递给Xamarin.Forms中的viewmodel。但我也想在加载页面时使用它,用该参数调用rest服务。但在加载事件中,参数始终为null。(如果我将该参数绑定到标签或其他,我可以看到该参数。) 如何使其正常工作并在viewmodel的加载事件中使用该参数?谢谢你的帮助 这是按钮单击事件并导航到Samplepage 这是示例页面视图模型 这是SamplePage代码 我们需要看导航服务 您应该在NavigationService而不是SamplePage中添加bindingCo
我们需要看导航服务 您应该在NavigationService而不是SamplePage中添加bindingContext In使用带有参数的NavigationService和更好的NavigationService结构。你应该看看
请发送反馈。对于这个Miguel,这对我帮助很大,我可以通过这种方法做我想做的事情。你可以在xamarin.forms中导航页面时发送参数,如下所示
\u navigationService.NavigateToAsync(“您的参数”)代码>
您可以在该页面的viewmodel中获得该参数,如下所示
是的,这种结构非常好。我总是使用。您可以在viewmodels之间发送参数。很高兴您提供了帮助。此示例是Microsoft示例的副本,仍然没有使用parameter对象,只是接受了它。
private void OntaptedBildirimItem(string param)
{
this._navigationService.NavigateTo(nameof(Views.SamplePage), param);
}
private string _id;
public string id
{
get
{
return _id;
}
set
{
Set(() => id, ref _id, value);
}
}
public SamplePageViewModel(INavigationService navigationService) : base(navigationService)
{
this._navigationService = navigationService;
this.Title = "Sample Page=" + id; // here the id is always null,but if I use it to bind a label in xaml ,it has a value.
}
public SamplePage(string parameter)
{
InitializeComponent();
var viewModel = this.BindingContext as ViewModels.SamplePageViewModel;
if(viewModel != null && parameter != null)
{
viewModel.bildirimid = parameter;
}
}
public override async Task InitializeAsync(object yourparameter)
{
// use yourparameter as you wish
}