За последние несколько недель я работал над некоторым контентом, которым я, наконец, рад поделиться с вами серией постов в блоге. Эта серия познакомит вас с разработкой 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