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();
}