Главная » C#, Windows Runtime, XAML, Разработка для Windows 8 » Текстовые элементы управления Metro

0

В  Windows  Runtime  выделяют три  типа  базовых элементов   управления,

позволяющих редактировать текст:

·                   TextBox — позволяет  вводить простой текст в виде  одной или нескольких строк;

·                   PasswordBox — текст скрывается с помощью специальных символов;

·                   RichEditBox — позволяет  вводить форматированный текст.

Если  рассматривать свойства  таких  элементов,  как  TextBox и  PasswordBox,

можно выделить:

·                   AcceptsReturn — позволяет выполнять перевод каретки при вводе текста;

·                   IsReadOnly — определяет, будет ли текстовое поле доступно для ввода;

·                   SelectedText — возвращает выделенный текст;

·                   SelectionLength  —  позволяет получить  или  задать  размер  текущего выделения;

·                   SelectionStart  —  позволяет получить  или  задать  позицию  символа,

с которого нужно произвести выделение;

·                   SelectionBackground — определяет цвет фона выделенного текста;

·                   SelectionForeground — задает цвет шрифта выделенного текста;

·                   TextWraping — определяет, будет ли текст переходить на другую строку,

если он не помещается в видимой части одной строки.

<TextBox AcceptsReturn="True" TextWrapping="Wrap" Width="300" Height="200">

</TextBox>

Элементу  TextBox  можно  противопоставить  элемент  управления  TextBlock, задачей которого  является отображение текста.  Оба эти  элемента способны удовлетворить    все  нужды  разработчика  в  редактировании и  отображении простого текста.

Если   же   говорить о   форматированном тексте,   тут   требуется   применять RichTextEdit  и  RichTextBlock.  Если  первый элемент   позволяет ввести   и редактировать форматированный текст, то второй — отображает только чтение.

Оба элемента являются контейнерами для других элементов.  Так,  основным наполнением этих элементов  выступает набор элементов  Paragraph, которые описывают параграфы текстового документа. В свою очередь, параграф может включать набор из следующих элементов:

·                   Run — задает обычный текст;

·                   Span — служит для группировки других элементов;

·                   Bold — определяет жирное начертание символов;

·                   LineBreak —задает переход на другую строку;

·                   Italic — определяет рукописное начертание символов;

·                   Underline — выделяет текст подчеркиванием;

·                   HyperLink — создает гиперссылку, которая становится активной  только в режиме ReadOnly элемента RichTextArea;

·                   InlineUIContainer — позволяет  вставить в документ любой из элементов,

порожденных UIElement.

Ниже пример элемента RichTextBlock, отображающего текст с  минимальным форматированием:

<RichTextBlock HorizontalAlignment="Left" Name="rArea" VerticalAlignment="Top" Height="300" Width="400" >

<Paragraph>

<Bold>This is a bold text</Bold>

<LineBreak></LineBreak>

<Underline>This is an underline text</Underline>

<LineBreak></LineBreak>

<Italic>This is an italic text</Italic>

<LineBreak></LineBreak> This is a button:

<InlineUIContainer>

<Button Content="Button"></Button>

</InlineUIContainer>

</Paragraph>

</RichTextBlock>

В результате на экране отобразится следующий контент:

Рис. 2.10.

Естественно, создавать и заполнять RichTextBlock можно и с помощью кода на

C#. Вот небольшой пример кода:

Bold b = new Bold(); b.Inlines.Add("This is a bold text");

Italic i = new Italic(); i.Inlines.Add("This is an italic text");

Underline u = new Underline(); u.Inlines.Add("This is an underlined text");

Paragraph myPar = new Paragraph(); myPar.Inlines.Add(b); myPar.Inlines.Add(new LineBreak()); myPar.Inlines.Add(i); myPar.Inlines.Add(new LineBreak()); myPar.Inlines.Add(u);

rArea.Blocks.Add(myPar);

Сергей Лутай, Сергей Байдачный, Windows 8 для C# разработчиков

По теме:

  • Комментарии