Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Элементы и их атрибуты






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

  < Window x: Class=" XAML.MainWindow" xmlns=" https://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns: x=" https://schemas.microsoft.com/winfx/2006/xaml" Title=" MainWindow" Height=" 350" Width=" 525" > < Grid x: Name=" grid1" > < Button x: Name=" button1" Width=" 100" Height=" 30" Content=" Кнопка" /> < /Grid> < /Window>

Сначала идет элемент самого высшего уровня - Window, затем идет вложенный элемент Grid - контейнер для других элементов, и в нем уже определен элемент Button, представляющий кнопку.

Для кнопки мы можем определить свойства в виде атрибутов. Здесь определены свойства x: Name (имя кнопки), Width, Height иContent. Подобным образом мы можем определить и другие свойства, которые нам нужны. Либо мы в общем можем не определять свойства, и тогда они будут использовать значения по умолчанию.

То же самое мы могли бы сделать в файле связанного кода на C#:

  Button button2 = new Button(); button2.Width = 100; button2.Height = 30; button2.Content = " Кнопка2"; grid1.Children.Add(button2);

Позже мы подробнее разберем элементы и их свойства, рассмотрим различные виды свойств, а пока главное понять общую модель создания интерфейса в XAML.

 

Посмотрим на код XAML, сгенерированный студией под наше пока еще пустое приложение

< Page

x: Class=" App1_1.MainPage"

xmlns=" https://schemas.microsoft.com/winfx/2006/xaml/presentation"

xmlns: x=" https://schemas.microsoft.com/winfx/2006/xaml"

xmlns: local=" using: App1_1"

xmlns: d=" https://schemas.microsoft.com/expression/blend/2008"

xmlns: mc=" https://schemas.openxmlformats.org/markup-compatibility/2006"

mc: Ignorable=" d" >

 

< Grid Background=" {ThemeResource ApplicationPageBackgroundThemeBrush}" >

 

< /Grid>

< /Page>

 

Для того чтобы перейти в редактор кода достаточно нажать на кнопку F7.

using System;

using System.Collections.Generic;

using System.IO;

using System.Linq;

using System.Runtime.InteropServices.WindowsRuntime;

using Windows.Foundation;

using Windows.Foundation.Collections;

using Windows.UI.Xaml;

using Windows.UI.Xaml.Controls;

using Windows.UI.Xaml.Controls.Primitives;

using Windows.UI.Xaml.Data;

using Windows.UI.Xaml.Input;

using Windows.UI.Xaml.Media;

using Windows.UI.Xaml.Navigation;

 

// Шаблон элемента пустой страницы задокументирован по адресу https://go.microsoft.com/fwlink/? LinkId=234238

 

namespace App1_1

{

/// < summary>

/// Пустая страница, которую можно использовать саму по себе или для перехода внутри фрейма.

/// < /summary>

public sealed partial class MainPage: Page

{

public MainPage()

{

this.InitializeComponent();

}

}

}

 

Получили сгенерированный код.

Давайте на нашу форму поместим кнопку и назовем ее «Добро пожаловать», для этого переход слева студии Панель элементов и выбираем там Типовые элементы управления XAML, находим компонент Button и перетаскиваем его на форму

Обратите внимание, как сразу изменилась наша форма и редактор Page на XAML

Наша кнопка выделена, давайте ее переименуем, для этого необходимо перейти в Свойства(правый нижний угол студии), находим свойство Content и справа от него пишем Добро пожаловать

Теперь запрограммируем нашу кнопку на клик(или нажатие), для этого кликнем в конструкторе по созданной кнопке левой клавишей мыши два раза, и мы переместимся в редактор кода в котором сгенерировалась новая процедура

private void Button_Click(object sender, RoutedEventArgs e)

{

ЗДЕСЬ ПИШИТЬСЯ КОД

}

Наша задача состоит в том, чтобы на экране появился диалоговое окно в котором была бы написана фраза «Мое первое приложение на Windows 8.1», ну и соответственно кнопка закрыть.

Для того чтобы активизировать диалоговое окно в Windows 8.1, необходимо в коде подключения библиотек прописать библиотеку

using Windows.UI.Popups;

Она нужна для отображения модальных сообщений с диалогами, заголовками и с кнопками, как раз, то что нам надо.

Затем мы в созданной процедуре прописываем код^

 

private void Button_Click(object sender, RoutedEventArgs e)

{

var dlg = new MessageDialog(" Мое первое приложение в Windows 8.1");

dlg.ShowAsync();

}

Прежде, чем компилировать, давайте нашему приложению обеспечим иконку запуска или картинку отображения, для этого необходимо вернуться в файл Package.appXmanifest, и открыть его еще раз

Переходим на визуальные активы и выбираем те пункты, что показаны на рисунке

При добавлении картинки в формате png, может выскочить всплывающее окно

Кликаем Да

Наша иконка изменилась.

Теперь давайте скомпилируем наш проект

Наше приложение после запуска

Кликнем на кнопку

Теперь давайте запустим наше приложение в режиме Имитатор, для этого на панели меню выбираем

 

И теперь кликаем по кнопке Имитатор

Перед вами появился имитатор вашего рабочего стола, наше приложение расположено на панели задач, развернем его

Для закрытие Имитатора, переходим в студию и на верхней панели кликаем на сброс выполнения проекта, как показано на рисунке

 

Теперь зайдем в пуск и кликнем по стрелочке

Наше приложение появилось в виде контейнера, кликнем по нему правой клавишей мыши и выполним команду закрепить на главном экране, перйдем на главный экран и увидим наше приложение

Эмблема, как видим тоже изменилась.

И последнее, добавим в наше приложение Заголовок и еще 3 кнопки.

Перейдем в редактор кода и найдем нашу процедуру нажатия на первую кнопку

private void Button_Click(object sender, RoutedEventArgs e)

{

var dlg = new MessageDialog(" Мое первое приложение в Windows 8.1");

dlg.ShowAsync();

ЗДЕСЬ БУДЕМ ПРОДОЛЖАТЬ КОД

}

Делаем заголовок

 

Для этого достаточно в MessageDialog Ввести второй параметр через запятую в кавычках

private void Button_Click(object sender, RoutedEventArgs e)

{

var dlg = new MessageDialog(" Мое первое приложение в Windows 8.1", " Я прораммирую на С#");

dlg.ShowAsync();

}

И сразу напишем код для остальных кнопок

private async void Button_Click(object sender, RoutedEventArgs e)

{

var dlg = new MessageDialog(" Мое первое приложение в Windows 8.1", " Я программирую на С#");

//dlg.ShowAsync();

dlg.Commands.Add(new UICommand(" Еще одна кнопка 1"));

dlg.Commands.Add(new UICommand(" Еще одна кнопка 2") { Id=3});

dlg.DefaultCommandIndex = 1;

dlg.DefaultCommandIndex = 2;

var command = await dlg.ShowAsync();

}

Обратите внимание, у нас появился новый оператор async в заголовке процедуры и его вызов в теле процедуры await dlg.ShowAsync();

Эти операторы разберем чуть позже…

Давайте скомпилируем наше приложение снова, но уже с измененным кодом

Это заставка нашего приложения

После нажатия на клавишу Enter

Изменился цвет кнопки и ее фокус.

И последний штрих, унифицируем наше приложение и на телефон, для этого пере

Посмотрите, как изменился Обозреватель решений, представленный на рисунке

Вид компилятора тоже изменился, кликнем по нему

Но сначала включим в BIOS виртуализацию, ADVENCED-Virtualization Tehnology

Overclocking-IntelVirtualization Tehn

А также проверим, установлена ли Hyper-V, ставим галочку и кликаем ОК(Место нахождения компонентов: Панель управления-Программы-Включение или отключение компонентов Windows)

И мы увидим диалоговое окно, если впервые запускаем компиляцию на телефон

Кликнем по кнопке Установить

Кликаем Установить

В строке компиляции появился наш установленный Эмулятор, как показано на рисунке

 

Соглашаемся

Эмулятор телефона

Заходим в Пуск и в нижней части экрана кликаем по стрелочке

Кликаем мышкой в симуляторе телефона, а затем прокручиваем и ищем наше приложение, и кликаем по нему

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.