RegionManager.RequestNavigate传参说明
方法说明
// 参数:
// regionName:
// The name of the region where the navigation will occur.
//
// target:
// A string that represents the target where the region will navigate.
//
// navigationParameters:
// An instance of NavigationParameters, which holds a collection of object parameters.
void RequestNavigate(string regionName, string target, NavigationParameters navigationParameters);
调用方法
var param = new NavigationParameters();
param.Add("reqid", selectedReq.Id);
_regionManager.RequestNavigate(RegionNames.MainRegion, NavigateNames.PrjTaskMainForm, param);
接收方法
用户控件实现 INavigationAware接口
public override void OnNavigatedTo(NavigationContext navigationContext)
{
var prjId = navigationContext.Parameters.GetValue<string>("prjid");
if (!string.IsNullOrEmpty(prjId))
{
_projectId = prjId;
var prj = _prjService.GetModel(prjId).Data;
_projectName = prj.Name;
this.RaisePropertyChanged(nameof(ProjectId));
this.RaisePropertyChanged(nameof(ProjectName));
}
var reqId = navigationContext.Parameters.GetValue<string>("reqid");
if (!string.IsNullOrEmpty(reqId))
{
_requirementId = reqId;
var req = _reqService.GetModel(reqId).Data;
_requirementName = req.Name;
this.RaisePropertyChanged(nameof(RequirementName));
}
GetData();
}