Для того, чтобы использовать любую из задач запуска разработчику необходимо выполнить следующие шаги:
Разработчику доступны следующие задачи запуска:
Создайте новый проект из шаблона Windows Phone Application, как мы это уже делали в первой части и назовите его ExploreLaunchers. Обратите внимание, что весь код, для простоты, будем вставлять в страницу MainPage.xaml внутрь элемента Grid:
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"></Grid>
Добавьте код в XAML файл, чтобы он выглядел следующим образом:
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"> <StackPanel Orientation="Horizontal"> <StackPanel Width="240"> <Button Name="EMailMe" Width="190" Height="75" Content="E-mail" Click="EMailMe_Click"/> <Button Name="AppDetails" Width="190" Height="75" Content="Программа" Click="AppDetails_Click"/> <Button Name="MarketHub" Width="190" Height="75" Content="Рынок" Click="MarketHub_Click" /> <Button Name="MarketSearch" Width="190" Height="75" Content="Поиск по ..." Click="MarketSearch_Click"/> <Button Name="MediaPlayer" Width="190" Height="75" Content="Плеер" Click="MediaPlayer_Click"/> </StackPanel> <StackPanel Width="240"> <Button Name="PhoneCall" Width="190" Height="75" Content="Звонок" Click="PhoneCall_Click"/> <Button Name="Search" Width="190" Height="75" Content="Искать" Click="Search_Click"/> <Button Name="SendSms" Width="190" Height="75" Content="SMS" Click="SendSms_Click"/> <Button Name="WebBrowse" Width="190" Height="75" Content="Веб" Click="WebBrowse_Click"/> </StackPanel> </StackPanel> </Grid>
Добавьте в блок using следующий модуль:
using Microsoft.Phone.Tasks;
Сразу после конструктора MainPage добавьте следующий код:
private void EMailMe_Click(object sender, RoutedEventArgs e) { EmailComposeTask compose = new EmailComposeTask(); compose.To = "rush4apps@microsoft.com"; compose.Body = " Я хочу участвовать в акции"; compose.Show(); } private void AppDetails_Click(object sender, RoutedEventArgs e) { MarketplaceDetailTask marketDetails = new MarketplaceDetailTask(); marketDetails.ContentType = MarketplaceContentType.Applications; marketDetails.ContentIdentifier = "введите идентификатор приложения"; marketDetails.Show(); } private void MarketHub_Click(object sender, RoutedEventArgs e) { MarketplaceHubTask marketHub = new MarketplaceHubTask(); marketHub.ContentType = MarketplaceContentType.Applications; marketHub.Show(); } private void MarketSearch_Click(object sender, RoutedEventArgs e) { MarketplaceSearchTask marketSearch = new MarketplaceSearchTask(); marketSearch.ContentType = MarketplaceContentType.Applications; marketSearch.SearchTerms = "GPSInfo"; marketSearch.Show(); } private void MediaPlayer_Click(object sender, RoutedEventArgs e) { MediaPlayerLauncher player = new MediaPlayerLauncher(); player.Controls = MediaPlaybackControls.Stop; player.Media = "укажите URI, с которого будет воспроизводиться контент"; player.Show(); } private void PhoneCall_Click(object sender, RoutedEventArgs e) { PhoneCallTask call = new PhoneCallTask(); call.DisplayName = "Главному разработчику"; call.PhoneNumber = "+7 555 555 5555"; call.Show(); } private void Search_Click(object sender, RoutedEventArgs e) { SearchTask search = new SearchTask(); search.SearchQuery = "rush4apps"; search.Show(); } private void SendSms_Click(object sender, RoutedEventArgs e) { SmsComposeTask sms = new SmsComposeTask(); sms.Body = "Windows Phone 7 - отличная платформа!"; sms.Show(); } private void WebBrowse_Click(object sender, RoutedEventArgs e) { WebBrowserTask web = new WebBrowserTask(); web.Uri = new Uri("http://msdn.com/ru-ru/"); web.Show(); }
Мы добавили кнопок по количеству демонстрируемых задач загрузки и в обработчике соответствующей кнопки вызываем интерфейс задачи загрузки. Некоторые из задач загрузки будут работать только на реальном устройстве.
Запустите приложение и посмотрите, как работают задачи запуска.
Для того, чтобы использовать любую из задач выбора разработчику необходимо выполнить следующие шаги:
Разработчику доступны следующие задачи выбора:
Создайте новый проект из шаблона Windows Phone Application, как мы это уже делали в первой части и назовите его ExploreChoosers. Обратите внимание, что весь код, для простоты, будем вставлять в страницу MainPage.xaml внутрь элемента Grid:
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"></Grid>
Добавьте код в XAML файл, чтобы он выглядел следующим образом:
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,0"> <StackPanel> <Button Width="190" Height="75" Name="Camera" Content="Камера" Click="Camera_Click"/> <Button Width="190" Height="75" Name="Email" Content="EMail" Click="Email_Click"/> <Button Width="190" Height="75" Name="Phone" Content="Телефон" Click="Phone_Click"/> <Button Width="190" Height="75" Name="ChoosePhoto" Content="Фото" Click="ChoosePhoto_Click"/> <Button Width="190" Height="75" Name="SaveEMail" Content="Сохр. EMail" Click="SaveEMail_Click"/> <Button Width="190" Height="75" Name="SavePhone" Content="Сохр. тел." Click="SavePhone_Click"/> </StackPanel> </Grid>
Добавьте в блок using следующий модуль.
using Microsoft.Phone.Tasks;
Сразу после конструктора MainPage добавьте следующий код:
private void Camera_Click(object sender, RoutedEventArgs e) { CameraCaptureTask camera = new CameraCaptureTask(); camera.Completed += new EventHandler<PhotoResult>(camera_Completed); camera.Show(); } void camera_Completed(object sender, PhotoResult e) { if (e.TaskResult == TaskResult.OK) MessageBox.Show("Имя файла:" + e.OriginalFileName); } private void Email_Click(object sender, RoutedEventArgs e) { EmailAddressChooserTask email = new EmailAddressChooserTask(); email.Completed += new EventHandler<EmailResult>(email_Completed); email.Show(); } void email_Completed(object sender, EmailResult e) { if (e.TaskResult == TaskResult.OK) MessageBox.Show(e.Email); } private void Phone_Click(object sender, RoutedEventArgs e) { PhoneNumberChooserTask phone = new PhoneNumberChooserTask(); phone.Completed += new EventHandler<PhoneNumberResult>(phone_Completed); phone.Show(); } void phone_Completed(object sender, PhoneNumberResult e) { if (e.TaskResult == TaskResult.OK) MessageBox.Show(e.PhoneNumber); } private void ChoosePhoto_Click(object sender, RoutedEventArgs e) { PhotoChooserTask photo = new PhotoChooserTask(); photo.Completed += new EventHandler<PhotoResult>(photo_Completed); photo.Show(); } void photo_Completed(object sender, PhotoResult e) { if (e.TaskResult == TaskResult.OK) MessageBox.Show(e.OriginalFileName); } private void SaveEMail_Click(object sender, RoutedEventArgs e) { SaveEmailAddressTask saveEmail = new SaveEmailAddressTask(); saveEmail.Completed += new EventHandler<TaskEventArgs>(saveEmail_Completed); saveEmail.Email = "rush4apps@microsoft.com"; saveEmail.Show(); } void saveEmail_Completed(object sender, TaskEventArgs e) { if (e.TaskResult == TaskResult.OK) MessageBox.Show("EMail сохранен!"); } private void SavePhone_Click(object sender, RoutedEventArgs e) { SavePhoneNumberTask savePhone = new SavePhoneNumberTask(); savePhone.Completed += new EventHandler<TaskEventArgs>(savePhone_Completed); savePhone.PhoneNumber = "+7 495 555 5555"; savePhone.Show(); } void savePhone_Completed(object sender, TaskEventArgs e) { if (e.TaskResult == TaskResult.OK) MessageBox.Show("Номер сохранен!"); }
Мы добавили кнопок по количеству демонстрируемых задач выбора и в обработчике соответствующей кнопки регистрируем обработчик события Completed и вызываем интерфейс задачи выбора.
Запустите приложение и посмотрите, как работают задачи выбора.
Windows Phone 7.5 Training Kit: Labs\LaunchersAndChoosers\LaunchersAndChoosers.html\html\ DocSet_default.html.