Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Прога - ответы2.docx
Скачиваний:
19
Добавлен:
23.04.2019
Размер:
206.38 Кб
Скачать

Построение приложения wpf с использованием только xaml

Типичное WPF-приложение не состоит исключительно из кода, как в первом примере. Файлы кода С# дополняются связанным исходным файлом XAML, и вместе они представляют сущность конкретного Window или Application.

Расширяемый язык разметки приложений (Extensible Application Markup Language — XAML) — это основанная на XML грамматика, позволяющая определять состояние (и до некоторой степени функциональность) дерева объектов .NET через разметку.

Учитывая тот факт, что XAML является просто декларативным способом определения состояния объекта, элементы управления WPF можно определять через разметку либо в процедурном коде. Например, следующий код XAML:

<Button Name="btnClickMe" Height="40м" Width="100" Content="Click Me"/>

может быть представлен программно так:

Button btnClickMe = new Button();

btnClickMe.Height = 40;

btnClickMe.Width = 100;

btnClickMe.Content = "Click Me";

Пример реализации окна программы при помощи XAML:

<!-- Определение класса Window -->

<Window x:Class ="SimpleXamlApp.MainWindow"

Xmlns ="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

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

Title ="A Window built using 100% XAML"

Height ="200"

Width ="300"

WindowStartupLocation ="CenterScreen">

<!-- Это окно имеет в качестве содержимого единственную кнопку -->

<Button x:Name="btnExitApp" Width="133"

Height="24" Content = "Close Window" Click ="btnExitApp_Clicked" />

<!-- Реализация обработчика события кнопки Click -->

<x:Code>

<![CDATA[

private void btnExitApp_Clicked (object sender, RoutedEventArgs e)

{

this.Close ();

}

]]>

</x:Code>

</Window>

Пример c# обработчика события для контрола, объявленного в xaml (связь кода и xaml):

Объявление контрола:

<Button Height="23"

HorizontalAlignment="Left"

Margin="20,26,0,0"

Name="button1"

VerticalAlignment="Top"

Width="75"

Content="Click here"

Click="button1_Click"/>

Объявление обработчика в коде:

public partial class Window1 : Window

{

...

private void button1_Click(object sender, RoutedEventArgs e)

{

// ...

}

}

  1. Техника визуальной разработки приложений в WPF+C#.

Создание проекта

В диалоговом окне New Project (Новый проект) среды Visual Studio определен набор рабочих пространств проектов WPF, и все они расположены в узле Windows корня Visual C#. Рассмотрим создание обычного пиложения. Для этого необходимо выбрать пункт WPF Application (Приложение WPF),

После сознания прототипа приложения среда автоматически устанавливает ссылки на сборки WPF (PresentationCore.dll, PresentationFoundation.dll и WindowsBase.dll), а также создает классы-наследники Window и Application и связанные XAML-файлы. На рисунке показано окно Solution Explorer для этого нового проекта