Когда свойству Content
включает в качестве содержимого элемент , который сам имеет уникальные данные (а именно — и ):
Для установки сложного содержимого можно также применять
, которое явно устанавливает свойство Content с помощью синтаксиса "свойство-элемент" (дополнительная информация о XAML будет дана позже в главе, так что пока не обращайте внимания на детали):
Имейте в виду, что не каждый элемент WPF является производным от класса ConentConrtol
Роль класса System.Windows.Controls.Control
В отличие от ContentControl
Control. Он предоставляет многочисленные члены, которые необходимы для обеспечения основной функциональности пользовательского интерфейса. Например, в классе Control определены свойства для установки размеров элемента управления, прозрачности, порядка обхода по нажатию клавиши <ТаЬ>, отображаемого курсора, цвета фона и т.д. Более того, данный родительский класс предлагает поддержку Control, сгруппированные по связанной функциональности.Роль класса System.Windows.FrameworkElement
Базовый класс FrameworkElement
Name), получения любых ресурсов, определенных производным типом, и установки общих измерений производного типа. Основные члены класса FrameworkElement кратко описаны в табл. 24.7.Роль класса System.Windows.UIElement
Из всех типов в цепочке наследования класса Window
UIElement. Его основная задача — предоставить производному типу многочисленные события, чтобы он мог получать фокус и обрабатывать входные запросы. Например, в классе UIElement предусмотрены многочисленные события для обслуживания операций перетаскивания, перемещения курсора мыши, клавиатурного ввода, ввода посредством пера и сенсорного ввода.Модель событий WPF будет подробно описана в главе 25; тем не менее, многие основные события будут выглядеть вполне знакомо (MouseMove
MouseDown, MouseEnter, MouseLeave, KeyUp и т.д.). В дополнение к десяткам событий родительский класс UIElement предлагает свойства, предназначенные для управления фокусом, состоянием доступности, видимостью и логикой проверки попадания (табл. 24.8).Роль класса System.Windows.Media.Visual
Класс Visual
Visual взаимодействует с подсистемой DirectX. Как будет показано в главе 26, инфраструктура WPF поддерживает три возможных способа визуализации графических данных, каждый из которых отличается в плане функциональности и производительности. Применение типа Visual (и его потомков вроде DrawingVisual) является наиболее легковесным путем визуализации графических данных, но также подразумевает написание вручную большого объема кода для учета всех требуемых служб. Более подробно об этом пойдет речь в главе 26.Роль класса System.Windows.DependencyObject