C# 提醒提醒框单击打开包含详细信息的页面:Windows Phone应用

C# 提醒提醒框单击打开包含详细信息的页面:Windows Phone应用,c#,windows-phone-8,visual-studio-2013,C#,Windows Phone 8,Visual Studio 2013,我正在为Windows Phone应用程序编写代码,在这里,我将在时间到来时显示提醒警报框,我希望在我点击该提醒警报框时,它将导航到包含这些提醒详细信息的页面。那我该怎么办呢 _Content = TextField.Text; _Date = dpkDate.Value.Value; _Time = tpkDate.Value.Value.TimeOfDay; _Date = _Date.Date + _Time; urinavigationuri=newuri(“/MainPage.xam

我正在为Windows Phone应用程序编写代码,在这里,我将在时间到来时显示提醒警报框,我希望在我点击该提醒警报框时,它将导航到包含这些提醒详细信息的页面。那我该怎么办呢

_Content = TextField.Text;
_Date = dpkDate.Value.Value;
_Time = tpkDate.Value.Value.TimeOfDay;
_Date = _Date.Date + _Time;
urinavigationuri=newuri(“/MainPage.xaml”,UriKind.Relative)//这里我想发送参数,以便在MainPage.xaml上显示有关提醒的所有详细信息

    var newReminder = new Reminder(_Date.ToString())
    {
        Content = _Content,    
        BeginTime = _Date,    
        RecurrenceType = RecurrenceInterval.None,    
        NavigationUri = navigationUri,    
        // sound= new Uri("music1.wav",UriKind.Relative)
    };

    ScheduledActionService.Add(newReminder);
那么我可以这样做吗如果是,如何进行


注意:很抱歉缩进,我无法在此页面上缩进,因此如果可能,有人可以使用适当的缩进编辑文章。

有两种方法可以做到这一点:

1) 您可以像在普通URL的查询字符串中一样传递参数。例如:

urinavigationuri=newuri(“/MainPage.xaml?date=“+\u date.ToString(),UriKind.Relative”)

在导航到的页面上,可以获得如下值:

string strDate = "";
NavigationContext.QueryString.TryGetValue("date", out strDate);
DateTime dtmDate = DateTime.Parse(strDate);
2) 您可以在导航之前将值存储在IsolatedStorage中,并在“导航到”页面上检索它们。例如:

起始页:

IsolatedStorageSettings.ApplicationSettings["date"] = _date;
目标页

if (IsolatedStorageSettings.ApplicationSettings.Contains("date"))
{
DateTime dtmDate = (DateTime)IsolatedStorageSettings.ApplicationSettings["date"];
}
因此,您可以将变量存储在对象中,并通过IsolatedStorage传递:

public class Reminder
{
    public string _Content { get; set; }
    public DateTime _Date { get; set; }
    public DateTime _Time { get; set; }
    public DateTime _DateTime { get; set; }
}

Reminder objReminder = new Reminder();
objReminder._Content = TextField.Text;
objReminder._Date = dpkDate.Value.Value;
objReminder._Time = tpkDate.Value.Value.TimeOfDay;
objReminder._DateTime = _Date.Date + _Time;

IsolatedStorageSettings.ApplicationSettings["objReminder"] = objReminder;
然后在目标页面上检索对象:

if (IsolatedStorageSettings.ApplicationSettings.Contains("objReminder"))
{
    Reminder objReminder = (Reminder)IsolatedStorageSettings.ApplicationSettings["objReminder"];
    //Get your values and do what you want
}
希望这有帮助