Читайте также: |
|
Необходимость в прокрутке возникает, если визуальное содержимое выходит за границы родительского элемента[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 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Встроенные контейнеры компоновки | | | Элементы управления содержимым |