WPF, текстові елементи

Елемент призначений для виведення текстової інформації, створення простих написів:

Ключовою властивістю є властивість Text , яке задає текстовий вміст. Причому у разі

ця властивість задається неявно.

За допомогою таких властивостей, як FontFamily, TextDecorations та ін, ми можемо налаштувати відображення тексту. Однак ми можемо задати і складніше форматування, наприклад:

текст

Елементи Run є шматками звичайного тексту, для яких можна задати окреме форматування.

Для зміни параметрів тексту, що відображається, даний елемент має такі властивості, як LineHeight , TextWrapping і TextAlignment .

Властивість LineHeight дозволяє вказувати висоту рядків.

Властивість TextWrapping дозволяє переносити текст під час встановлення цієї властивості TextWrapping="Wrap" . За умовчанням ця властивість має значення NoWrap, тому текст не переноситься.

Властивість TextAlignment вирівнює текст по центру (значення Center), правому (Right) або лівому краю (Left):

Для декорації тексту використовується властивість TextDecorations, наприклад, якщо TextDecorations="Underline", то текст буде підкреслено.

Якщо нам раптом потрібно буде перенести текст на інший рядок, тоді ми можемо використовувати елемент LineBreak :

Якщо TextBlock просто виводить статичний текст, цей елемент представляє поле для введення текстової інформації.

Він також, як і TextBlock, має властивості TextWrapping, TextAlignment та TextDecorations.

За допомогою властивості MaxLength можна задати граничну кількість символів, що вводяться.

У коді C# ми можемо опрацювати подію зміни тексту:

За замовчуванням, якщо текст, що вводиться, перевищує встановлені межі поля, то текстове поле зростає, щобвмістити весь текст. Але візуально це не дуже добре виглядає. Тому, як і у випадку з TextBlock, ми можемо перенести текст, що не міститься, на новий рядок, встановивши властивість TextWrapping="Wrap".

Щоб перекладати за натисканням на клавішу Enter курсор на наступний рядок, нам треба встановити властивість AcceptsReturn="True" .

Також ми можемо додати полю можливість створювати табуляцію за допомогою кнопки Tab, встановивши властивість AcceptsTab="True"

Для відображення смуг прокручування TextBox підтримує властивості VerticalScrollBarVisibility та NorizontalScrollBarVisibility:

Можливо, при створенні програми нам потрібно буде зробити текстове поле недоступним для введення (на час залежно від умов або взагалі), тоді для цього нам потрібно встановити властивість IsReadOnly="True" .

Для виділення тексту є властивості SelectionStart, SelectionLength та SelectionText. Наприклад, виділимо програмно текст натискання кнопки:

Обробник натискання кнопки:

Перевірка орфографії

TextBox має вбудовану підтримку орфографії. Щоб задіяти її, потрібно встановити властивість SpellCheck.IsEnabled="True" . Крім того, за замовчуванням перевірка орфографії поширюється тільки на англійську мову, тому, якщо додаток заточений під іншу мову, нам треба його вказати явним чином через властивість Language :

текст

Мітка (Label)

Головною особливістю тегів є підтримка мнемонічних команд-клавіш швидкого доступу, які передають фокус пов'язаному елементу. Наприклад,

Тепер, натиснувши клавішу "п", ми переведемо фокус на пов'язане текстове поле. Під час дзвінка підкреслення не відображається, щоб відображати підкреслення, потрібно натиснути клавішу Alt. Тоді, щоб перевести фокус на пов'язане текстове полепотрібно буде натиснути поєднання Alt + "п". Якщо не передбачається використання клавіш швидкого доступу, то для виведення звичайного тексту замість міток краще використовувати елемент TextBlock.

PasswordBox

Елемент призначено для введення парольної інформації. По суті, це теж текстове поле, тільки для введення символів використовується маска. Властивість PasswordChar встановлює символ маски, що відображається під час введення пароля. Якщо ця властивість не задано, то для маски символу за замовчуванням використовується чорна точка. Властивість Password встановлює парольний рядок, який відображається за замовчуванням під час завантаження вікна програми.

текст

RichTextBox