Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Windows Presentation Foundation.docx
Скачиваний:
14
Добавлен:
13.08.2019
Размер:
1.13 Mб
Скачать

Прочие элементы управления

Рассмотрим оставшиеся стандартные элементы управления, разбив их на следующие подгруппы:

  1. Текстовые элементы.

  2. Элементы для представления диапазона.

  3. Элементы для работы с датами.

В WPFтекстовыми элементами являются TextBlock1, TextBox, PasswordBox, RichTextBox. Элемент TextBlockпредназначен для отображения небольшой порции текста. Для текста доступны настройки шрифта, выравнивания, переноса (wrapping), а сам текст может включать теги XAMLXPS.

<TextBlock TextWrapping="Wrap" TextAlignment="Center"

FontFamily="Consolas"FontSize="16">

<Bold>TextBlock</Bold> is designed to be

<Italic>lightweight</Italic>,and is geared specifically at

integrating small portionsof flow content into a UI.

</TextBlock>

Рис. 21.ДемонстрацияTextBlock.

Элемент управления TextBox служит для отображения и ввода текста, заданного в строковом свойстве Text. TextBoxопределяет события TextChanged и SelectionChanged, а также содержит несколько свойств и методов для работы с частью введённого текста. Для управления переносом текста следует использовать свойство TextWrapping. Чтобы пользователь мог ввести несколько строк текста, нажимая ENTER, установите свойство AcceptsReturn в true.

Элемент RichTextBox – «продвинутая» версия TextBox. Многие свойства у этих элементов общие, так как они унаследованы от одного базового класса TextBoxBase.Содержимое RichTextBox сохраняется в свойстве Document типа FlowDocument, который создан для поддержки XPS.

Элемент управления PasswordBox предназначен для ввода паролей. Можно сказать, что это упрощённая версия TextBox–не поддерживаются вырезание и копирование текста, не генерируются событияTextChanged и SelectionChanged. В PasswordBoxвведённый пароль сохраняетсяв свойствеPassword, а при изменении текста генерируется событиеPasswordChanged. Символ, который отображается вместо букв пароля, настраивается при помощи свойства PasswordChar.

Элементы для представления диапазонаProgressBar и Sliderхранят и отображают в некой форме числовое значение, попадающее в заданный диапазон. Оба элемента унаследованы от класса RangeBase, имеющего свойства Value, Minimum,Maximum (все –типа double)и событие ValueChanged.

ProgressBar обычно используют для визуализации процесса выполнения длительной операции. Класс ProgressBar добавляет к RangeBase два свойства:

  • IsIndeterminate – если установить это булево свойство в true, ProgressBarбудет показыватьнепрерывную бегущую полоску.

  • Orientation – размещениеProgressBar (HorizontalилиVertical).

Элемент управления Slider – это слайдер (ползунок) с возможностью ручной установки значения из диапазона. У слайдера имеется свойство Orientation и несколько свойств, управляющих метками (например, TickPlacement). Кроме этого, слайдер позволяет задать выделенный диапазон при помощи свойств IsSelectionRangeEnabled, SelectionStartи SelectionEnd.

<StackPanel>

<ProgressBarValue="80"Height="20" Margin="5"/>

<Slider Maximum="30" Value="25"

TickPlacement="BottomRight" TickFrequency="2"

IsSelectionRangeEnabled="True"

SelectionStart="10" SelectionEnd="20"/>

</StackPanel>

Рис. 22.Элементы управленияProgressBar и Slider.

Элементами для работы с датами являются Calendarи DatePicker.Calendar отображает небольшой календарь с возможностью клавиатурной навигации и выбора. Этот класс имеет несколько полезных свойств:

  • DisplayMode – режим отображения календаря (Year, Month, Decade);

  • SelectionMode – режимвыборадат (SingleDate, SingleRange, MultipleRange, None);

  • BlackoutDates– коллекция дат, которые не могут быть выбраны;

  • DisplayDate– текущая отображаемая дата;

  • DisplayDateStart и DisplayDateEnd задают возможный диапазон дат;

  • IsTodayHighlighted– подсветка текущей даты;

  • SelectedDate и SelectedDates– выбранная дата или коллекция дата.

<Calendar DisplayMode="Month" DisplayDate="1/1/2010"

DisplayDateEnd="12/31/2012">

<Calendar.BlackoutDates>

<CalendarDateRange Start="1/7/2010" End="1/14/2010" />

<CalendarDateRange Start="1/30/2010" End="2/9/2010" />

</Calendar.BlackoutDates>

</Calendar>

Элемент DatePickerпозволяет задать дату, набирая её с клавиатуры или применяя выпадающий элемент Calendar. Большинство свойств DatePicker служит для настройки этого внутреннего календаря. Свойство Textсодержит введённый в DatePicker текст. Если этот текст нельзя конвертировать в дату, генерируется событие DateValidationError (что по умолчанию приводит к исключительной ситуации).

<DatePicker SelectedDateFormat="Long" SelectedDate="02/10/10"

DisplayDateStart="1/01/10" DisplayDateEnd="12/31/10"

FirstDayOfWeek="Monday" />

Рис. 23.Элементы управленияCalendarиDatePicker.