访问UWP页面之间传递的参数

时间:2016-01-16 21:12:25

标签: c# windows oop uwp

目前正在开发通用Windows平台应用程序,无法访问导航到页面上的参数

传递参数的代码:

var ente = this.DataGrid.SelectedItem as Ente;
            var Id = ente.Id;
            Frame.Navigate(typeof(EntiEdit), Id);

这是“NavigatedTo”页面

protected override void OnNavigatedTo(NavigationEventArgs e) {
         string Id = e.Parameter as string;
        }

我如何在其他方法中使用此字符串?事件覆盖受到保护,因此无法访问其内容。

提前致谢

1 个答案:

答案 0 :(得分:11)

您应该将参数保存到类字段或属性中以便访问它:

public class EntiEdit : Page
{
    private string _entityId;

    protected override void OnNavigatedTo(NavigationEventArgs e) 
    {
        _entityId = e.Parameter as string;
    }
}

如果您需要在导航页面后启动一些处理,您可以从事件处理程序执行此操作:

protected override void OnNavigatedTo(NavigationEventArgs e) 
{
    var entityId = e.Parameter as string;
    EntityData = LoadEntity(entityId);
    DoSomeOtherRoutine(entityId);
}