我正在尝试的是以2种不同的方式处理e OnNavigatedTo,具体取决于页面来自现在我有这个但是当来到其他时e.parameter保留一个空字符串[2]从上一次处理
protected override void OnNavigatedTo(NavigationEventArgs e)
{
if (lastpage != null && lastpage.SourcePageType.Equals(typeof(NewHabit))) // Checking from which page came
{
string[] Data = new string[2];
Data[0] = string.Empty;
Data[1] = string.Empty;
Data = e.Parameter as string[];
}
else if (lastpage != null && lastpage.SourcePageType.Equals(typeof(Calendar)))
{
HabitButtons[pos].Days = e.Parameter as int[,];
}
答案 0 :(得分:0)
在这里看不到e.Parameter
的类型并不是很有帮助......但我猜您正在尝试进行无效的投射。
e.parameter保留前一次处理
的空字符串[2]
如果e.Parameters
是处理程序方法的参数,那么很可能它是参数的新实例,而不是前一次调用的实例(除非它有些奇怪的使用{{1} }或ref
参数)。
总而言之,如果out
的类型为e.Parameter
,那么您在尝试执行string[]
时始终会出错,并且您必须创建通过手动解析e.Parameter as int[,]
中的数据并创建所需的任何数据结构来获取数组。