|
Программирование >> Windows foundation
Рис. 34.10. Работа элемента управления Frame Элементы управления с содержимым и заголовками Элементы управления с содержимым и заголовком унаследованы от класса HeaderedContentControl. Сам HeaderedContentControl наследуется от базового класса ContentControl. Класс HeaderedContentControl имеет свойство Header для определения заголовка и HeaderTemplate для полной настройки заголовка. Элементы управления, унаследованные от базового класса HeaderedContentControl, перечислены в табл. 34.6. Таблица 34.6. Элементы управления, унаследованные от HeaderedContentControl Элемент управления Описание Expander С помощью элемента управления Expander можно организовать до- полнительный (advanced) режим в диалоговом окне, которое по умолчанию не показывает всю информацию, но может быть развернуто пользователем для ее отображения. В неразвернутом режиме показана информация заголовка, а в развернутом - само содержимое. Элемент управления GroupBox представляет рамку и заголовок для группы элементов управления. Элемент управления TabItem - это элементы внутри класса TabControl. Свойство Header в TabItem представляет содержимое заголовка, отображаемое во вкладках TabControl. GroupBox TabItem Ниже приведен пример использования элемента управления Expander. Элемент Expander имеет свойство Header, установленное в Click for more . Этот текст отображается для развертывания. Содержимое элемента управления отображается только в том случае, если он развернут. На рис. 34.11 показано простое приложение со свернутым элементом управления Expander. На рис. 34.12 показано то же приложение с развернутым элементом управления Expander. Рис. 34.11. Элемент управления Expander в свернутом состоянии Рис. 34.12. Элемент управления Expander в развернутом состоянии <Window x:Class= ExpanderSample.Window1 xmlns= http: schemas.microsoft.com/winfx/2 00 6/xaml/presentation xmlns:x= http: schemas.microsoft.com/winfx/2 006/xaml Title= Expander Sample Height= 300 Width= 300 > <StackPanel> <TextBlock>Short information</TextBlock> <Expander Header= Click for more > <Border Height= 200 Width= 200 Background= Yellow > <TextBlock HorizontalAlignment= Center VerticalAlignment= Center > More information here! </TextBlock> </Border> </Expander> </StackPanel> </Window> Если вы хотите изменять заголовок элемента управления Expander в зависимости от того, развернуто или свернуто содержимое, вы можете создать триггер. О триггерах мы еще поговорим в этой главе. Многоэлементные элементы управления Класс ItemsControl содержит список элементов, доступ к которым можно получить через свойство Items. Классы, унаследованные от ItemsControl, перечислены в табл. 34.7. Таблица 34.7. Элементы управления, унаследованные от ItemsControl Элемент управления Menu ContextMenu Описание StatusBar Классы Menu и ContextMenu наследуются от абстрактного базового класса MenuBase. Предоставить меню пользователю можно, поместив элементы MenuItem в список и связав с ними соответствующие команды. Элемент StatusBar обычно используется для отображения в нижней части окна приложения, предоставляя пользователю информацию о состоянии. Вы можете поместить элементы StatusBarItem внутрь списка StatusBar. Окончание табл. 34.7 Элемент управления TreeView ListBox ComboBox TabControl Описание Элемент управления TreeView служит для отображения иерархических структур элементов. ComboBox, ListBox и TabControl имеют один и тот же абстрактный базовый класс - Selector. Этот базовый класс позволяет выбирать элементы из списка. ListBox отображает элементы списка. ComboBox имеет дополнительный элемент управления Button для отображения элементов, только если был совершен щелчок на кнопке. С помощью TabControl содержимое представляется в табличной форме. Многоэлементные элементы управления с заголовками HeaderedItemsControls является базовым классом для элементов управления, которые содержат не только элементы, но также и заголовок. Этот класс унаследован от ItemsControls. Классы, унаследованные от HeaderedItemsControls, описаны в табл. 34.8. Таблица 34.8. Элементы управления, унаследованные от HeaderedItemsControls Элемент управления MenuItem TreeViewItem ToolBar Описание Классы меню Menu и ContextMenu включают элементы типа MenuItem. Элементы меню могут быть ассоциированы с командами, поскольку класс MenuItem реализует интерфейс ICommandSource. Класс TreeView может включать элементы типа TreeViewItem. Элемент управления ToolBar - это контейнер для группы элементов управления, обычно включающий элементы Button и Separator. Вы можете поместить ToolBar внутри ToolBarTray, который обрабатывает переупорядочивание элементов управления ToolBar. Компоновка Для определения компоновки элементов, используемой приложением, вы можете применять класс, унаследованный от базового класса Panel. Доступно несколько контейнеров компоновки, о которых мы поговорим ниже. Контейнер компоновки должен выполнять две главные задачи: измерение и расстановка. При измерении контейнер опрашивает у своих дочерних элементов их предпочтительные размеры. Поскольку полный размер, который сообщают эти элементы, может оказаться недоступным, затем контейнер определяет размеры и расположение этих дочерних элементов. StackPanel Window может включать в себя в качестве содержимого только один элемент. Если вам нужно поместить в окно более одного элемента, вы можете использовать StackPanel как дочерний элемент Window и добавлять необходимые вам элементы уже внутрь StackPanel.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |