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

Типы приложений wpf

  • Традиционные настольные приложения – обычные EXE, запускаемые на локальной машине.

  • WPF-приложения на основе навигации – настольные приложения, имитирующие работу веб-браузера, реализующую функциональность подобную навигации по набору страниц.

  • Приложения XBAP –приложения, загружаемые с веб-сервера и выполняющиеся в браузере (поддерживаются только IE и FireFox).

Основные сборки wpf

PresentationCore.dll

Фундамент уровня графического интерфейса в WPF, в том числе поддержка интерфейса WPF Ink API (для перьевого ввода), несколько примитивов анимации, множество типов визуализации графики

PresentationFoundation.dll

  • Большинство элементов управления WPF, классы Application и Window, поддержка интерактивных двухмерных геометрий.

  • Базовая функциональность для чтения и записи документов XAML во время выполнения

System.Xaml.dll

Расширенное взаимодействие с документами XAML. Предоставляет полный контроль над XAML во время выполнения

WindowsBase.dll

Эта сборка определяет основные типы, составляющие инфраструктуру API-интерфейса WPF. Здесь находятся типы потоков WPF, типы безопасности, различные преобразователи типов и прочие программные примитивы

Построение приложения wpf без xaml

Учитывая всю функциональность, предлагаемую родительскими классами типа Window, представить окно в приложении можно, либо напрямую создав объект Window, либо указав этот класс в качестве родительского для строго типизированного наследника. В следующем примере рассматриваются оба подхода. Хотя большинство приложений WPF используют XAML, так поступать вовсе не обязательно. Все, что может быть выражено на XAML, также можно выразить в коде и (по большей части) наоборот. При желании можно построить полный проект WPF, используя лежащую в основе объектную модель и процедурный код.

using System;

using System.Windows;

using System.Windows.Controls;

namespace WpfAppAllCode

{

// Класс, представляющий главное окно приложения

class MainWindow : Window

{

public MainWindow(string windowTitle, int height, int width)

{

this.Title = windowTitle;

this.WindowStartupLocation = WindowStartupLocation.CenterScreen;

this.Height = height;

this.Width = width;

}

}

// Класс, представляющий программу

class Program : Application

{

[STAThread]

static void Main(string[] args)

{

Program app = new Program();

// Задание обработчиков событий Startup и Exit

app.Startup += AppStartUp;

app.Exit += AppExit;

app.Run(); // Запускает приложение

}

static void AppExit(object sender, ExitEventArgs e)

{

MessageBox.Show("App has exited");

}

static void AppStartUp(object sender, StartupEventArgs e)

{

// Создать объект Window и установить некоторые базовые свойства.

MainWindow mainWindow = new MainWindow("Simple WPF App!", 200, 300);

mainWindow.Show();

}

}

}