Обзор элементов управления

83

Если только вы не новичок в области построения графических интерфейсов пользователя (что нормально), общее назначение элементов управления WPF не должно вызывать вопросы. Независимо от того, какой набор инструментов для построения графических интерфейсов вы применяли в прошлом (MFC, Java AWT/Swing, Windows Forms, VB 6.0, Mac OS X (Cocoa) или GTK+/GTK#), распространенные элементы управления, представленные ниже, скорее всего, покажутся знакомыми.

Элементы управления WPF
Категория элементов управления WPF Примеры членов Назначение
Основные пользовательские элементы управления Button, RadioButton, ComboBox, CheckBox, Calendar, DatePicker, Expander, DataGrid, ListBox, ListView, Slider, ToggleButton, TreeView, ContextMenu, ScrollBar, TabControl, TextBlock, TextBox, RepeatButton, RichTextBox, Label WPF предлагает полное семейство элементов управления, которые можно использовать для построения пользовательских интерфейсов
Элементы украшения окон и элементов управления Menu, ToolBar, StatusBar, ToolTip, ProgressBar Эти элементы пользовательского интерфейса служат для декорирования рамки объекта Window компонентами для ввода (наподобие Menu) и элементами информирования пользователя (StatusBar, ToolTip и т.п.)
Элементы мультимедиа Image, MediaElement, SoundPlayerAction Эти элементы управления предоставляют поддержку воспроизведения аудио/видео и визуализации изображений
Элементы управления компоновкой Border, Canvas, DockPanel, Grid, GridView, GridSplitter, GroupBox, Panel, TabControl, StackPanel, Viewbox, WrapPanel WPF предлагает множество элементов управления, которые позволяют группировать и организовывать другие элементы для управления компоновкой

Большинство этих стандартных элементов управления WPF упаковано в пространство имен System.Windows.Controls сборки PresentationFramework.dll. При построении приложения WPF в Visual Studio 2010 большинство этих элементов находится в панели инструментов (ToolBox), когда в активном окне открыт визуальный конструктор WPF:

ToolBox

Как и при создании приложений Windows Forms, эти элементы можно перетаскивать на поверхность визуального конструктора WPF и конфигурировать их в окне Properties (Свойства). Хотя Visual Studio 2010 сгенерирует значительный объем XAML автоматически, нет ничего необычного в ручном редактировании разметки.

В дополнение к обычным элементам управления WPF, перечисленным в таблице, в WPF определены дополнительные элементы для работы с API-интерфейсом "цифровых чернил" (digital Ink API). Этот API-интерфейс полезен при разработке приложений для планшетных ПК (Tablet PC), поскольку позволяет получать ввод от пера. Однако это не означает, что стандартные настольные приложения не могут пользоваться Ink API, так как некоторые определенные в нем элементы управления могут получать ввод от мыши.

Пространство имен System.Windows.Ink сборки PresentationCore.dll содержит разнообразные типы, поддерживающие Ink API (например, Stroke и StrokeCollection); однако большинство элементов управления Ink API (такие как InkCanvas и InkPresenter) упакованы в общие элементы управления WPF из пространства имен System.Windows.Controls сборки PresentationFramework.dll.

В WPF предлагаются элементы управления для обработки расширенных документов, позволяя строить приложения, которые поддерживают функциональность в стиле Adobe PDF. Используя типы из пространства имен System.Windows.Documents (также из сборки PresentationFramework.dll), можно создавать готовые к печати документы, поддерживающие масштабирование, поиск, пользовательские аннотации ("клейкие" заметки) и прочие развитые средства работы с текстом.

Однако "за кулисами" элементы управления документов не используют API-интерфейсы Adobe PDF, а вместо этого работают с API-интерфейсом XML Paper Specification. Конечные пользователи никакой разницы не заметят, поскольку документы PDF и документы XPS имеют почти идентичный вид и поведение. В действительности доступно множество бесплатных утилит, которые позволяют преобразовывать эти форматы друг в друга на лету.

В WPF также предоставляются несколько диалоговых окон, таких как OpenFileDialog и SaveFileDialog. Эти диалоговые окна определены внутри пространства имен Microsoft.Win32 сборки PresentationFramework.dll. Работа с каждым из этих диалоговых окон сводится к созданию объекта и вызову метода ShowDialog().

Пройди тесты
Лучший чат для C# программистов