/p>
В основу суті даної технології покладено принцип поділу програмування і написання інтерфейсу. Введення мови XAML робить останнє максимально схожим на принцип Web-програмування. p align="justify"> Крім того, WPF, на відміну від класичних додатків на WinAPI та програм, написаних з використанням WindowsForms, активно використовує безпосередньо ресурси відеокарти. З використанням технології WPF можна писати програми, що відображають тривимірну графіку, підключивши необхідні посилання. p align="justify"> Є можливість використання градієнтів у проектуванні користувальницького інтерфейсу, що може зробити його барвистим і живим. Нижче наведено приклад найпростішого калькулятора на WPF, що демонструє градієнтні елементи управління і нестандартного діалогового вікна, що використовує ту ж технологію візуалізації:
В
В
У WPF виділяється 4 категорії елементів - панелі, графічні фігури, елементи управління і елементи, пов'язані з документом.
Говорячи про достоїнства WPF, слід згадати його недоліки. У першу чергу це новизна технології. Порівнюючи c Windows Forms, потрібно відверто мізерний набір елементів управління. Якщо не говорити про елементи управління, що роблять процес проектування інтерфейсу приємніше, наприклад ErrorProvider, то найбільше впадає в очі відсутність такого важливого елементу як DataGrodView в WPF. p align="justify"> Елементи управління можна імпортувати з WindowsForms, однак гарантувати їх коректну роботу на даний момент складно.
Model-View-ViewModel - застосовується при проектуванні архітектури додатку. Спочатку був представлений співтовариству Джоном Госсманом (John Gossman) у 2005 році як модифікація шаблону Presentation Model. MVVM орієнтований на сучасні платформи розробки, такі як Windows Presentation Foundation <# "center"> 1.3 Програмна реалізація продукту
Наведемо приклад коду для інтерфейсів користувача:
public partial class PersonListEditView: Window
{PersonListEditViewModel ViewModel {get {return (PersonListEditViewModel) MainGrid. DataContext;}} PersonListEditView ()
{();
} PersonListEditView (int OrgcomitetId)
{();. orgcomitetId = OrgcomitetId;
} void Refresh (object sender, EventArgs e)
{. DataSource = ViewModel. ItemSource; oldDC = this. MainGrid. DataContext;. MainGrid. DataContext = null;
this. MainGrid. DataContext = oldDC;
} void CloseView (object sender, EventArgs e)
{. Close ();
}
2. База даних сайту
2.1 Модель бази даних
В
В
2.2 Інстру...