Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Прокрутка и декорирование содержимого

А.А. Волосевич | Иерархия классов | Свойства зависимостейи присоединённые свойства | Маршрутизируемыесобытия | Многопоточность в WPF | Приложения на основе страниц | Работа с панелью задач Windows 7 | Размер и выравнивание | Списковые элементы управления | Прочие элементы управления |


Читайте также:
  1. Ввод данных и редактирование содержимого ячейки

Необходимость в прокрутке возникает, если визуальное содержимое выходит за границы родительского элемента[6]. Панель прокрутки – это элемент управления содержимымScrollViewer. Его свойства VerticalScrollBarVisibility и HorizontalScrollBarVisibilityуправляют видимостью полос прокрутки и принимают значение из перечисления ScrollBarVisibility:

· Visible – полоса прокрутки видима, даже если в ней нет необходимости.

· Auto – полоса прокрутки появляется только тогда, когда содержимое не помещается в визуальных границах панели прокрутки.

· Hidden – полоса прокрутки не видна, но прокрутку можно выполнить в коде или используя клавиатуру.

· Disabled – полоса прокрутки не видна, прокрутку выполнить нельзя.

ЭлементScrollViewer имеет методы для программной прокрутки:

§ Вертикальнаяпрокрутка: LineUp(), LineDown(), PageUp(), PageDown(), ScrollToHome(), ScrollToEnd().

§ Горизонтальнаяпрокрутка: LineLeft(), LineRight(), PageLeft(), PageRight(),ScrollToHorizontalOffset(),ScrollToLeftEnd(), ScrollToRightEnd().

Одной из особенностей ScrollViewer является возможность участия содержимого в процессе прокрутки. Такое содержимое должно быть представлено объектом, реализующим интерфейс IScrollInfo. Кроме этого, необходимо установить свойствоScrollViewer.CanContentScroll в значение true. Интерфейс IScrollInfoреализуют всего несколько элементов. Одним из них является контейнер StackPanel. Его реализация интерфейса IScrollInfoобеспечивает логическую прокрутку, которая осуществляет переход от элемента к элементу, а не от строки к строке.

<ScrollViewer CanContentScroll="True">

<StackPanel>

<Button Height="100" Content="1"/>

<Button Height="100" Content="2"/>

<Button Height="100" Content="3"/>

<Button Height="100" Content="4"/>

</StackPanel>

</ScrollViewer>

Декораторы обычно служат для того, чтобы графически разнообразить и украсить область вокруг объекта.Все декораторы являются наследниками класса System.Windows.Controls.Decorator. Большинство декораторов – это специальные классы, предназначенные для использования вместе с определёнными элементами управления.Есть два общих декоратора, применять которые имеет смысл при создании пользовательских интерфейсов: Border и Viewbox.

Декоратор Borderпринимает вложенное содержимое и добавляет к нему фон или рамку. Для управления Border можно использовать свойства размера и отступа, а также особые свойства, перечисленные в табл. 6.

Таблица 6

Свойства декоратора Border

Имя Описание
Background С помощью объекта Brushзадаёт фон, который отображается за всем содержимым в рамке
BorderBrush, BorderThickness Свойства задают цвет (объект Brush) и ширину рамки. Чтобы показать рамку, нужно задать оба свойства. У рамки можно отдельно настроить ширину каждой из четырёх сторон
CornerRadius Позволяет закруглить углы рамки. Можно отдельно настроить радиус закругления каждого угла

<Border Margin="5" Padding="5" VerticalAlignment="Top"

Background="LightYellow" BorderBrush="SteelBlue"

BorderThickness="3,5,3,5" CornerRadius="3">

<StackPanel>

<Button Margin="3" Content="One" />

<Button Margin="3" Content="Two" />

<Button Margin="3" Content="Three" />

</StackPanel>

</Border>

Рис. 11. Декоратор Border.

Декоратор Viewbox масштабирует своё содержимое так, чтобы оно умещалось в этом декораторе.По умолчанию Viewbox выполняет масштабирование, которое сохраняет пропорции содержимого. Это поведение можно изменить при помощи свойстваStretch. Например, если свойству присвоить значение Fill, содержимое внутри Viewbox будетрастянуто в обоих направлениях.Кроме этого, можно использовать свойство StretchDirection. Оно управляет масштабированием, когда содержимое достаточно мало (или слишком велико), чтобы уместиться в Viewbox.

7. Обзор ЭЛЕМЕНТов УПРАВЛЕНИЯWPF

Рис. 12. Стандартные элементы WPF.

Формально, к элементам управления относятся классы, унаследованные от классаControl. Рассмотрим некоторые собственные свойства этого класса, разбив их на группы:

1. Внешний вид: свойство Templateзадаёт шаблон[7], полностью определяющий внешний вид элемента управления.

2. Позиционирование: свойстваPadding,HorizontalContentAlignmentиVerticalContentAlignment.

3. Цвета и окантовка:

· Foreground–кисть (цвет) для отображения содержимого;

· Background–кисть для фона элемента;

· BorderBrush и BorderThickness–кисть и ширина окантовки.

4. Шрифт содержимого:

· FontFamily– имя семейства шрифтов (например, "Arial").Можно указать несколько шрифтов, разделяя их запятыми– WPF выберет первый установленный в системе шрифт из списка[8];

· FontSize– размер шрифта в единицах WPF. Обычные Windows-приложения измеряют шрифты с помощью точек (point s), которые равны дюйма на стандартном мониторе. Этот размер нужно умножить на , чтобы получить размер в единицах WPF;

· FontStyle– наклон текста (объект FontStyle). Необходимый предварительно заданный набор можно получить из статических свойств класса FontStyles: Normal, Italic или Oblique;

· FontWeight– вес текста (объект FontWeight).Предварительно заданный набор можно получить, используя статические свойства класса FontWeight;

· FontStretch– величина, на которую растягивается или сжимается текст (объект FontStretch).

5. Табуляция: целочисленное свойство TabIndexи булево IsTabStop.


Дата добавления: 2015-11-14; просмотров: 44 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Встроенные контейнеры компоновки| Элементы управления содержимым

mybiblioteka.su - 2015-2024 год. (0.007 сек.)