В прошлой статье мы осветили вопрос использования Choosers и Launchers, а также самые популярные их реализации в WP7.

В этой статье предлагаю посмотреть, что нового и интересного нам приготовили разработчики Microsoft в Mango.

Launchers, добавленные в Mango

  1. BingMapTask

    BingMapTask – позволяет приложению запустить карты Bing.

    Пример:


    var task = new BingMapsTask
    {
    Center = new GeoCoordinate
    {
    Latitude = 53.911316,
    Longitude = 27.593966,
    Altitude = 220
    },
    SearchTerm = "minsk",
    ZoomLevel = 4
    }.Show();

    Свойства BingMapsTask:

    Уровень зума.

    Center Координаты точки, к которой будет центрирована карта.
    SearchTerm Если задано это свойство, то места на карте, которые совпадают с поисковым запросом будут помечены.
    ZoomLevel

    Свойство Center имеет тип GeoCoordinate. Здесь нам нужны следующие свойства:

    Latitude Широта
    Longitude Долгота
    Altitude Высота

  2. BingMapsDirectionsTask

    BingMapsDirectionsTask – позволяет проложить маршрут между двумя точками на карте.


    var task = new BingMapsDirectionsTask
    {
    Start = new LabeledMapLocation
    {
    Label = "Minsk",
    Location = minsk
    },
    End = new LabeledMapLocation
    {
    Label = "Moscow",
    Location = moscow
    }
    }.Show();

    minsk и moscow имеют тип GeoCoordinate, рассмотренный выше.

Choosers, добавленные в Mango

  1. AddressChooserTask

    AddressChooserTask – позволяет приложению получить физический адрес из списка контактов.


    var task = new AddressChooserTask();
    task.Completed += (s, e) =>
    {
    if(e.TaskResult == TaskResult.OK)
    {
    var textBlock = new TextBlock
    {
    Text =
    string.Format(
    "Address: {0}, DisplayName: {1}",
    e.Address, e.DisplayName)
    };
    resultPanel.Children.Add(textBlock);
    }
    };
    task.Show();

    В возвращаемом результате нам интересны 2 свойства: Address и DisplayName.

  2. GameInviteTask

    GameInviteTask – запускает приложения для приглашения пользователя в многопользовательскую игру.


    var task = new GameInviteTask
    {
    SessionId = Guid.NewGuid().ToString()
    };
    task.Completed += (s, e) => // что-то сделать;
    task.Show();

    SessionId – идентификатор сессии многопользовательской игры.

  3. SaveRingtonTask

    SaveRingtonTask – позволяет сохранить рингтон из вашего приложения в системный список рингтонов.


    var task = new SaveRingtoneTask
    {
    DisplayName = "This love",
    IsShareable = true,
    // accessible to other applications
    Source = new Uri("/Data/Bon Jovi - Its My Life.mp3", UriKind.Absolute)
    };
    task.Completed += (s, e) => // что-то сделать;
    task.Show();

    Свойства SaveRingtoneTask:

    DisplayName Отображаемое имя рингтона
    IsShareable Флаг, который говорит, будет ли доступен рингтон для других приложений
    Source Путь к рингтону

  4. SaveContactTask

    SaveContactTask – запускает диалог для сохранения нового контакта.


    var task = new SaveContactTask
    {
    MobilePhone = "+375297777777",
    FirstName = "Александр",
    LastName = "Бородач"
    //....
    };
    task.Completed += (s, e) => // что-то сделать;
    task.Show();

    SaveContactTask имеет много свойств, описывающих контакт: имя, фамилия, адрес, работа и т.д:


    public sealed class SaveContactTask : ChooserBase<saveContactResult>
    {
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string MiddleName { get; set; }
    public string Nickname { get; set; }
    public string Suffix { get; set; }
    public string Company { get; set; }
    public string Title { get; set; }
    public string MobilePhone { get; set; }
    public string HomePhone { get; set; }
    public string WorkPhone { get; set; }
    public string PersonalEmail { get; set; }
    public string WorkEmail { get; set; }
    public string OtherEmail { get; set; }
    public string HomeAddressStreet { get; set; }
    public string HomeAddressCity { get; set; }
    public string HomeAddressState { get; set; }
    public string HomeAddressZipCode { get; set; }
    public string HomeAddressCountry { get; set; }
    public string WorkAddressStreet { get; set; }
    public string WorkAddressCity { get; set; }
    public string WorkAddressState { get; set; }
    public string WorkAddressZipCode { get; set; }
    public string WorkAddressCountry { get; set; }
    public string Website { get; set; }
    public string Notes { get; set; }
    public string JobTitle { get; set; }
    public override void Show();
    }

    Ознакомиться с полным списком Launchers и Choosers можно на сайте MSDN:

    http://msdn.microsoft.com/en-us/library/ff769550(v=VS.92).aspx

    http://msdn.microsoft.com/en-us/library/ff769543(v=VS.92).aspx


На этом будем считать данную тему пройденной, полученных знаний вам должно хватить для решения большинства задач.

Не стесняйтесь задавать вопросы!

Исходники LaunchersAndChoosersSrc

Последние статьи

  • Перехват трафика с помощью Fiddler

  • Dependency Property изнутри — Часть вторая

  • Dependency Property изнутри. Часть первая.

  • Индексы в локальной базе данных

  • Реализация простой фотогалереи на Windows Phone 7

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *