2014-02-13 66 views
0

我正在Windows Phone 7中建立一個應用程序,我需要添加一個事件提醒。點擊一個按鈕後,應該設置提醒。我的CS文件:如何添加事件提醒到我的Windows Phone 7應用程序

namespace KejriwalPhoneApp 
{ 
public partial class EventDetails : PhoneApplicationPage 
{ 

    public EventDetails() 
    { 
     InitializeComponent(); 

     ApplicationBar = new ApplicationBar(); 
     ApplicationBar.Mode = ApplicationBarMode.Default; 
     ApplicationBar.Opacity = 1.0; 
     ApplicationBar.IsVisible = true; 


     ApplicationBarIconButton home = new ApplicationBarIconButton(); 
     home.IconUri = new Uri("/Image/icon_home_deselect.png", UriKind.Relative); 
     home.Text = "Home"; 
     ApplicationBar.Buttons.Add(home); 
     home.Click += new EventHandler(home_Click); 


     ApplicationBarIconButton share = new ApplicationBarIconButton(); 
     share.IconUri = new Uri("/Image/icon_share_deselect.png", UriKind.Relative); 
     share.Text = "Share"; 
     ApplicationBar.Buttons.Add(share); 
     share.Click += new EventHandler(share_Click); 

     ApplicationBarIconButton news = new ApplicationBarIconButton(); 
     news.IconUri = new Uri("Image/icon_news_deselect.png", UriKind.Relative); 
     news.Text = "News"; 
     ApplicationBar.Buttons.Add(news); 
     news.Click += new EventHandler(news_Click); 

     ApplicationBarIconButton events = new ApplicationBarIconButton(); 
     events.IconUri = new Uri("/Image/icon_event_deselect.png", UriKind.Relative); 
     events.Text = "Video"; 
     ApplicationBar.Buttons.Add(events); 
     events.Click += new EventHandler(events_Click); 
    } 

    void events_Click(object sender, EventArgs e) 
    { 
     NavigationService.Navigate(new Uri("/Events.xaml", UriKind.Relative)); 
    } 

    void news_Click(object sender, EventArgs e) 
    { 
     NavigationService.Navigate(new Uri("/News.xaml", UriKind.Relative)); 
    } 

    void share_Click(object sender, EventArgs e) 
    { 
     NavigationService.Navigate(new Uri("/share.xaml", UriKind.Relative)); 

    } 

    void home_Click(object sender, EventArgs e) 
    { 
     NavigationService.Navigate(new Uri("/MainPage.xaml", UriKind.Relative)); 
    } 

    private void Image_Back(object sender, RoutedEventArgs e) 
    { 
     NavigationService.Navigate(new Uri("/Events.xaml", UriKind.Relative)); 
    } 

    protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) 
    { 
     base.OnNavigatedTo(e); 
     var imagePath = ""; 
     var eventdate = ""; 
     var location = ""; 
     var utimee = ""; 
     var tzone = ""; 
     var ename = ""; 
     var desc = ""; 

     //check if particular parameter available in uri string 
     if (this.NavigationContext.QueryString.ContainsKey("image_path")) 
     { 
      //if it is available, get parameter value 
      imagePath = NavigationContext.QueryString["image_path"]; 

      eventimage.Source = new BitmapImage(new Uri(@"http://political-leader.vzons.com/ArvindKejriwal/images/uploaded/" + imagePath, UriKind.Absolute)); 


     } 

     if (this.NavigationContext.QueryString.ContainsKey("Time_Zone")) 
     { 
      tzone = NavigationContext.QueryString["Time_Zone"]; 
      timezone.Text = tzone; 
     } 

     if (this.NavigationContext.QueryString.ContainsKey("uTime")) 
     { 
      utimee = NavigationContext.QueryString["uTime"]; 
      utime.Text = utimee; 
     } 

     if (this.NavigationContext.QueryString.ContainsKey("Event_Date")) 
     { 
      //if it is available, get parameter value 
      eventdate = NavigationContext.QueryString["Event_Date"]; 
      evntdate.Text = eventdate; 
     } 

     if (this.NavigationContext.QueryString.ContainsKey("Location")) 
     { 
      //if it is available, get parameter value 
      location = NavigationContext.QueryString["Location"]; 
      loc.Text = location; 
     } 

     if (this.NavigationContext.QueryString.ContainsKey("Event_Name")) 
     { 
      //if it is available, get parameter value 
      ename = NavigationContext.QueryString["Event_Name"]; 
      enamee.Text = ename; 
     } 
     if (this.NavigationContext.QueryString.ContainsKey("Event_Description")) 
     { 
      //if it is available, get parameter value 
      desc = NavigationContext.QueryString["Event_Description"]; 
      edescription.Text = desc; 
     } 

}

private void Image_Previous(object sender, RoutedEventArgs e) 
    { 
     NavigationService.Navigate(new Uri("/Events.xaml", UriKind.Relative)); 
    } 



    private void Image_rem(object sender, RoutedEventArgs e) 
    { 
     RegisterReminder(); 
    } 

    private void RegisterReminder() 
    { 


     var reminder = ScheduledActionService.Find(ename) as Reminder ?? new Reminder(ename); 
     reminder.Title = ename; 
     reminder.Content = desc; 
     // parse eventDate,utimee to beginDateTime 
     reminder.BeginTime = beginDateTime; 
     reminder.ExpirationTime = reminder.BeginTime.AddDays(1); 
     reminder.RecurrenceType = RecurrenceInterval.None; 
     if (ScheduledActionService.Find(ename) == null) 
      ScheduledActionService.Add(reminder); 
     else 
      ScheduledActionService.Replace(reminder); 
     MessageBox.Show("reminder set succeed!"); 


    } 

} 

}現在當提醒按鈕被點擊我要的領域utimee,tzone進行設置,我得到一個彈出消息「事件提醒成功添加「

我沒有得到關於如何做到這一點

+0

有你嘗試過什麼? –

+0

喲意味着什麼'我希望領域utimee,tzone被設置,我得到一個彈出'? –

+0

@ChrisShao看點擊提醒按鈕時,我會從網絡服務獲得的數據,例如date,time_zone和utime,這些應該在我的設備中設置,我應該會彈出消息提示已設置。我能把事情弄清楚嗎? – bhaku

回答

1

你可以做這些步驟的想法:

1.get從web服務作爲全局變量的值:

eventDate,location, utimee, tzone, ename,desc.

2.click提醒按鈕,執行點擊方法

private void BtnReminderClick(object sender, EventArgs e) 
{ 
    RegisterReminder(); 
} 

3.do提醒註冊

private void RegisterReminder() 
    { 
     var reminder = ScheduledActionService.Find(ename) as Reminder ?? new Reminder(ename); 
     reminder.Title = ename; 
     reminder.Content = desc; 
// parse eventDate,utimee to beginDateTime 
     reminder.BeginTime = DateTime.Parse(eventDate).Date + DateTime.Parse(utimee).TimeOfDay; 
     reminder.ExpirationTime = reminder.BeginTime.AddDays(1); 
     reminder.RecurrenceType = RecurrenceInterval.None; 
     if (ScheduledActionService.Find(ename) == null) 
      ScheduledActionService.Add(reminder); 
     else 
      ScheduledActionService.Replace(reminder); 
     MessageBox.Show("reminder set succeed!"); 
    } 
+0

我收到一些錯誤:ename,desc,begindatetime在當前上下文中不存在 – bhaku

+0

請查看我編輯的代碼。我已經添加了你的代碼。 – bhaku

+0

我明白了,你可以將aname,desc eventDate,utimee設置爲全局變量。 beginDateTime是一個可以從eventDate和utimee解析的DateTime類型變量。 –

相關問題