Статьи

Узнайте о разработке XAML и Windows Phone прямо на своем телефоне, написав и опробовав наши образцы!

Первоначально Автор Social Ebola

Мы действительно рады нашему новейшему приложению! Теперь приложение определенно предназначено для пользователей-гиков, но мы думаем, что это действительно круто!

Вот в чем дело — вы можете использовать XAML и Javascript, чтобы попробовать разработку Windows Phone 7.5 прямо на вашем телефоне или через браузер. Загрузите приложение, создайте новый образец (или отредактируйте существующий) и поэкспериментируйте с XAML и посмотрите его прямо на своем телефоне. Вместо C # вы будете использовать Javascript, но в противном случае вы можете повозиться и поиграть с ним.

Если вы хотите присоединиться к бете, напишите нам (вам нужно будет исправить адрес)!

Весь образец содержится внутри одного файла. Вот как выглядит вновь созданный образец:

<UserControl xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    FontFamily="{StaticResource PhoneFontFamilyNormal}"
    FontSize="{StaticResource PhoneFontSizeNormal}"
    Foreground="{StaticResource PhoneForegroundBrush}"
    xmlns:sys="clr-namespace:System;assembly=mscorlib"
    d:DesignHeight="480" d:DesignWidth="480">

  <!--
 Thanks for using the Javascript/Xaml app!
 Each XAML file has 3 major parts:
 1. The XAML itself - this describes the UI.
 2. The Javascript code - this controls what happens in the sample
 3. The manifest - gives the title of the sample + some more optional information
 -->
  <UserControl.Resources>
    <!-- 
 The manifest contains information about the sample 
 Title - contains the name of the sample
 IconUri - The URI for the icon of the sample.
 Under the Author element, you have 2 other elements
 Name - the name of the author of the sample
 WebSite - Uri for the web site of the author
 -->
    <sys:String x:Key="_manifest" xml:space="preserve">
      <![CDATA[
      <SnippetManifest>
        <Author>
          <Name>SocialEbola User</Name>
          <WebSite>http://socialebola.wordpress.com</WebSite>
        </Author>
        <EntryPoint>
          <Title>[Default Template]</Title>
          <!--<IconUri>http://server/something.png</IconUri> -->
        </EntryPoint>
      </SnippetManifest>
 ]]>
    </sys:String>
    <!-- The following code will be loaded and executed when the XAML is done loading. -->
    <sys:String x:Key="_code" xml:space="preserve">
      <![CDATA[
        // The hosting environment has an event called "Loaded". That event will fire when the sample starts.
        // The following shows how you hook the event and.
        host.add_Loaded(function()
        {
          // First thing we will do, is show an alert saying we are loaded.
          alert("loaded!");

          // Now, we will hook the other events we want to handle - namely, the button click event.
          // host.UI contains all the named controls in the XAML so you can easily access them:
          host.UI.button1.add_Click(function()
            {
              // Here, we wil change the text on the button when it's clicked.
              host.UI.button1.Content = "Hello XAML world!";
            });
          });
        });
      ]]>
    </sys:String>
  </UserControl.Resources>
  <Grid x:Name="LayoutRoot">
    <Button x:Name="button1" Content="Press me!"></Button>
  </Grid>
</UserControl>

Использование приложения

Код JavaScript встроен в XAML и будет выполняться при загрузке образца (подробнее об этом позже)

Приложение поставляется с несколькими установленными образцами — вы можете увидеть их на главной странице приложения (нажатие и удержание образца показывает вам различные варианты, доступные для вас:

образ образ

Если вы решите отредактировать образец, вы можете сделать это на телефоне (хотя это очень неудобно). Благодаря этому, приложение дает вам возможность просматривать ваши образцы с помощью веб-браузера, что делает среду редактирования несколько лучше.

Нажав на значок плюса и кнопку «Создать новый», вы создадите новый «пустой» образец, который вы можете использовать для проверки. Обратите внимание, что вы также можете указать любой URL-адрес, содержащий XAML — вам не нужно использовать наши серверы ,

образ образ

После создания вы можете выбрать отправку по электронной почте веб-ссылок, чтобы вы могли редактировать XAML на рабочем столе (вы можете сделать то же самое — отправить ссылки по электронной почте — перейдя к свойствам образца).

При редактировании образца на телефоне вам предоставляется сводная таблица, содержащая XAML и код JavasScript (при сохранении код будет помещен обратно в XAML):

образ образ

Если вы используете предоставленную ссылку для редактирования, вы получите очень простую веб-страницу для редактирования текста. Изменение XAML На этой странице и нажатие кнопки «сохранить» сохраняет образец обратно на сервере. Обновив образец на телефоне, затем перенесите его в телефон для тестирования.

Как выглядит XAML

XAML состоит из трех основных частей — самого XAML, который ведет себя как контейнер, манифеста (содержит некоторые метаданные о образце) и кода. И код, и манифест встраиваются в виде строк внутри ресурсов файла XAML.

Вот как выглядит манифест:

  <UserControl.Resources>
    <sys:String x:Key="_manifest" xml:space="preserve">
      <![CDATA[
      <SnippetManifest>
        <Author>
          <Name>SocialEbola User</Name>
          <WebSite>http://socialebola.wordpress.com</WebSite>
        </Author>
        <EntryPoint>
          <Title>[Default Template]</Title>
          <!--<IconUri>http://server/something.png</IconUri> -->
        </EntryPoint>
      </SnippetManifest>
 ]]>

Единственный действительно важный бит — это элемент <Title>, который управляет тем, что вы увидите в списке образцов.

Код также встроен — опять же, вот код JavaScript по умолчанию, который вы получаете при запуске нового образца:

<sys:String x:Key="_code" xml:space="preserve">
  <![CDATA[
    // The hosting environment has an event called "Loaded". That event will fire when the sample starts.
    // The following shows how you hook the event and.
    host.add_Loaded(function()
    {
      // First thing we will do, is show an alert saying we are loaded.
      alert("loaded!");

      // Now, we will hook the other events we want to handle - namely, the button click event.
      // host.UI contains all the named controls in the XAML so you can easily access them:
      host.UI.button1.add_Click(function()
        {
          // Here, we wil change the text on the button when it's clicked.
          host.UI.button1.Content = "Hello XAML world!";
        });
      });
    });
  ]]>

Как видите, первое, что делает код, это подключает событие «Loaded» к хост-объекту — это событие будет запущено при запуске образца (например, событие загрузки тела HTML).

Затем код сообщает, что он загружен.

Наконец, код перехватывает событие Click кнопки, которая находится в XAML, с помощью объекта host.UI (объект UI будет содержать все именованные элементы управления XAML).

На данный момент это все — мы собираемся опубликовать еще несколько блогов о том, что вы можете сделать, но если вы попадете в бета-версию, мы призываем вас попробовать и рассказать нам, что вы думаете

Вот ссылки на два предустановленных примера:

http://www.socialebola.com/Wpjs/Blob.ashx/Sample.Fin

http://www.socialebola.com/Wpjs/Blob.ashx/Sample.Conv

Это приложение не было бы возможно без следующих проектов с открытым исходным кодом:

Проект JINT на CodePlex ( http://jint.codeplex.com )

Перенос JINT Джоэла Мартинеса на WP7 ( http://www.codecube.com )

Источник: http://socialebola.wordpress.com/2012/02/23/learn-xaml-wp7-development-right-on-your-phone -по-письменные и-пытаться-из образцов /