In this article I will demonstrate how to choose, select and save email using EmailAddressChooserTask, EmailComposeTask and SaveEmailAddressTask of Microsoft.Phone.Tasks.
EmailAddressChooserTask let the user choose the email address from contacts list.
EmailComposeTask allows user to send mail from the application.
SaveEmailAddressTask allows user to save email address from the application.
EmailAddressChooserTask is sealed class which inherits ChooserBase abstract class. ChooserBase has TaskEventArgs event which triggers on task completion.
EmailComposeTask is also sealed class and it also inherits ChooserBase abstract class.
SaveEmailAddressTask is also sealed class and it also inherits ChooserBase abstract class.
Let's write an application to demonstrate how to use EmailAddressChooserTask, EmailComposeTask and SaveEmailAddressTask.
Step 1: Create a Windows Phone 7 project and add a application bar. Application bar will have three option Compose Email, Save Email and Choose Email. Place below code in MainPage.xaml.cs after content panel grid.
<phone:PhoneApplicationPage.ApplicationBar> <shell:ApplicationBar IsVisible="True" IsMenuEnabled="True" Mode="Default" Opacity="1.0" > <shell:ApplicationBar.MenuItems> <shell:ApplicationBarMenuItem Text="Send Email" Click="SendEmail_Click" /> <shell:ApplicationBarMenuItem Text="Save Email" Click="SaveEmail_Click" /> <shell:ApplicationBarMenuItem Text="Choose Email" Click="ChooseEmail_Click" /> </shell:ApplicationBar.MenuItems> </shell:ApplicationBar> </phone:PhoneApplicationPage.ApplicationBar>
Step 2: Now we will write event handler of Compose Email menu item in MainPage.xaml.cs.
private void SendEmail_Click(object sender, EventArgs e) { EmailComposeTask emailComposeTask = new EmailComposeTask(); emailComposeTask.Subject = "Windows Phone 7 - Email Subject"; emailComposeTask.Body = "Windows Phone 7 - Email Body"; emailComposeTask.To = "wp7@xyz.com"; emailComposeTask.Cc = "wp7cc@example.com"; emailComposeTask.Bcc = "wp7bcc@example.com"; emailComposeTask.Show(); }
The email account needs to be set up to send mail.
Step 3: Place SaveEmail_Click method in MainPage.xaml.cs. It will be triggered on touch of Save Email menu option.
private void SaveEmail_Click(object sender, EventArgs e) { SaveEmailAddressTask saveEmailAddressTask; saveEmailAddressTask = new SaveEmailAddressTask(); saveEmailAddressTask.Completed += new EventHandler<TaskEventArgs>(saveEmailAddressTask_Completed); saveEmailAddressTask.Email = "wp7@xyz.com"; saveEmailAddressTask.Show(); }
void saveEmailAddressTask_Completed(object sender, TaskEventArgs e) { switch (e.TaskResult) { //Logic for when the email was saved successfully case TaskResult.OK: MessageBox.Show("Email saved."); break; //Logic for when the email could not be saved case TaskResult.None: MessageBox.Show("Email could not be saved."); break; } }
Step 4: ChooseEmail_Click will be trigger on touch of choose email option of application bar menu.
private void ChooseEmail_Click(object sender, EventArgs e) { EmailAddressChooserTask emailAddressChooserTask; emailAddressChooserTask = new EmailAddressChooserTask(); emailAddressChooserTask.Completed += new EventHandler<EmailResult>(emailAddressChooserTask_Completed); emailAddressChooserTask.Show(); }
void emailAddressChooserTask_Completed(object sender, EmailResult e) { if (e.TaskResult == TaskResult.OK) { MessageBox.Show("Email id of " + e.DisplayName + " is " + e.Email); } }
This ends the article of sending, saving and selecting email in Windows Phone 7.
|