За последние несколько недель я работал над некоторым контентом, которым я, наконец, рад поделиться с вами серией постов в блоге. Эта серия познакомит вас с разработкой Windows Phone 8 с точки зрения разработчика Android. В ходе серии вы создадите свое первое приложение. Это не будет ничего приятного, но вы узнаете все тонкости среды разработки, как создать простой пользовательский интерфейс и как выполнять навигацию.
По пути вы увидите несколько советов по Android , которые помогут вам легче перенести свои навыки на платформу Windows Phone. Вы также увидите несколько советов по Visual Studio, которые сделают вас более продуктивными в вашей среде разработки. Удачи!
На предыдущем уроке вы создали простой пользовательский интерфейс, который принимает текст от пользователя. На этом уроке вы создадите в приложении вторую страницу для отображения ввода пользователя.
Создать вторую страницу
Щелкните правой кнопкой мыши проект в обозревателе решений, нажмите кнопку « Добавить» и нажмите « Создать элемент» .
В диалоговом окне Добавить новый элемент выберите Windows Phone в Visual C # .
Выберите шаблон портретной страницы Windows Phone, присвойте странице имя SecondPage.xaml и нажмите « Добавить» .
Теперь вы должны увидеть SecondPage.xaml в Solution Explorer.
Если SecondPage.xaml не открыт, дважды щелкните его.
Удалите содержимое из самого внешнего элемента <Grid> . Вы должны получить что-то похожее на это:
<!–LayoutRoot is the root grid where all page content is placed–> <Grid x:Name=”LayoutRoot” Background=”Transparent”> </Grid> Add a <TextBlock> element to the grid: <Grid x:Name=”LayoutRoot” Background=”Transparent”> <TextBlock x:Name=”messageFromUser” /> </Grid>
Ответить на кнопку отправки
Теперь вам нужно получить сообщение с первой страницы на вторую страницу. Начните с открытия MaingPage.xaml .
Чтобы ответить на атрибут Click элемента <Button> для элемента
<Grid x:Name=”LayoutRoot” Background=”Transparent”>
<StackPanel x:Name=”theStackPanel”
Orientation=”Vertical”>
<TextBlock x:Name=”theLabel”
Text=”{Binding Path=LocalizedResources.MessageLabelText,
Source={StaticResource LocalizedStrings}}” />
<TextBox x:Name=”theMessage” />
<Button x:Name=”sendButton”
Content=”{Binding Path=LocalizedResources.SendButtonText,
Source={StaticResource LocalizedStrings}}”
Click=”sendButton_Click”/>
</StackPanel>
</Grid>
|
ANDROID HINT |
|
Нажмите атрибут похож на андроид: OnClick атрибут Android <Button> элемента. |
Open the code-behind file for MainPage.xaml (MainPage.xaml.cs) and add the following method:
private
void sendButton_Click(object sender, RoutedEventArgs e)
{
}
|
VISUAL STUDIO TIP |
|
Вы можете открыть файл с выделенным кодом для файла, с которым вы работаете, в режиме конструктора, нажав клавишу F7 . |
Теперь вам нужно сделать три вещи.
- Получить текст, введенный пользователем.
- Создайте URI для перехода к SecondPage.xaml, который включает текст, введенный пользователем. Это делается путем включения текста в качестве параметра строки запроса.
- Перейдите к SecondPage.xaml.
Все три могут быть выполнены путем добавления следующего в метод sendButton_Click :
private void sendButton_Click(object sender, RoutedEventArgs e)
{
//Get the message from the <TextBox> element
var message = this.theMessage.Text;
//Use a default message if none is provide
if (string.IsNullOrEmpty(message))
message = “Hello World!”;
//Create the uri to navigate to SecondPage.xaml, passing
//the message through in the query string
var uri = new Uri(string.Format(“/SecondPage.xaml?message={0}”, message),
UriKind.Relative);
//Perform the navigation
this.NavigationService.Navigate(uri);
}
|
ANDROID HINT |
|
В Android вы должны создать Intent и вызвать метод startActivity для перехода на вторую страницу с кодом, подобным следующему:
public void sendButton_Click (Просмотреть представление) { Intent intent = new Intent (this, SecondPageActivity.class); startActivity (намерение); } |
Если вы запустите приложение сейчас ( F5 ) и нажмете кнопку, вы заметите, что переходите на вторую страницу. Мы будем работать над отображением сообщения в последней части этого урока.
Показать сообщение
Теперь, когда вы можете перейти к SecondPage.xaml из MainPage.xaml, вам нужно отобразить сообщение, введенное пользователем.
Откройте SecondPage.xaml.cs (файл кода для SecondPage.xaml ).
Добавьте переопределение для метода OnNavigatedTo
protected
override
void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);
}
Наконец, получите параметр строки запроса из свойства страницы NavigationContext и отобразите его в элементе <TextBlock> со следующим кодом:
protected override void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);
//Check that the query string contains the message parameter
//and display on the page if found
if (this.NavigationContext.QueryString.ContainsKey(“message”))
this.messageFromUser.Text =
this.NavigationContext.QueryString["message"];
}
Запустите приложение ( F5 ), чтобы увидеть результаты!
Вывод
Поздравляем! Вы просто создаете свое первое приложение для Windows Phone. Чтобы узнать больше о создании приложений для Магазина Windows, продолжайте следовать этой серии. Следующая часть — Работа с данными .
Предыдущие сообщения в этой серии
- Настройка среды разработки
- Создание вашего первого проекта Windows Phone
- Изучение проекта Windows Phone
- Запуск приложения Windows Phone
- Создание простого пользовательского интерфейса
Дополнительные ресурсы
- Начиная
- Разработка приложений
- Тестирование приложений
- Монетизация приложений
- Концепции и архитектура
- Справочник по Windows Phone API


