Опубликован: 23.01.2009 | Уровень: для всех | Доступ: платный
Лекция 4:

Текст

< Лекция 3 || Лекция 4: 1234 || Лекция 5 >

Оформление текста с помощью элементов Foreground, TextWrapping и TextDecorations

Элементы Foreground, TextWrapping и TextDecorations – предоставляют дополнительные возможности оформления текста. Они могут применяться как к элементу TextBlock, так и к элементу Run. В табл. 4.4приводятся типичные примеры использования этих элементов.

Таблица 4.4. Элементы Foreground, TextWrapping и TextDecorations
Код Вид в браузере
4.4.1
<Canvas
xmlns="http://schemas.microsoft.com/
client/2007"
xmlns:x="http://schemas.microsoft.com/
winfx/2006/xaml"
Width="420" Height="400"
Background="White"
x:Name="Page">
<TextBlock Canvas.Left = "10" 
Canvas.Top="30" 
FontFamily="Arial" FontSize="40" 
Foreground="Red">Красный  </TextBlock>
<TextBlock Canvas.Left = "10" 
Canvas.Top="80" 
FontFamily="Arial" FontSize="40" 
Foreground="Yellow" >Желтый </TextBlock>
<TextBlock Canvas.Left = "10" 
Canvas.Top="130" 
FontFamily="Arial" FontSize="40"
 Foreground="Green" >Зеленый</TextBlock>
<TextBlock Canvas.Left = "10" 
Canvas.Top="180" 
FontFamily="Arial" FontSize="80" >
Dock
<TextBlock.Foreground>
   <ImageBrush ImageSource="Dock.jpg"/>
 </TextBlock.Foreground>
</TextBlock>
<TextBlock Canvas.Left = "10" 
Canvas.Top="270" 
FontFamily="Arial" FontSize="80" >
Garden
<TextBlock.Foreground>
  <ImageBrush ImageSource="Garden.jpg"/>
 </TextBlock.Foreground>
</TextBlock>
</Canvas>

Описание
Фоновый цвет определяется с помощью атрибута Foreground. Элемент Foreground задает фоновый рисунок для текста, файл которого помещается в папку с проектом (рис. 4.6):
 Папка проекта, содержащая рисунки

Рис. 4.6. Папка проекта, содержащая рисунки
Код Вид в браузере
4.4.2
<Canvas
 xmlns="http://schemas.microsoft.com/
 client/2007"
 xmlns:x="http://schemas.microsoft.com/
 winfx/2006/xaml"
 Width="400" Height="400"
 Background="White"
 x:Name="Page">
 <TextBlock Canvas.Left = "10" 
 Canvas.Top="30" 
  Text="Съешь ещё этих мягких французских 
  булок,  да выпей чаю."
  Width="200"
  TextWrapping="NoWrap"/>

<!-- Элемент TextBlock с 
переносом строк -->
<TextBlock Canvas.Left = "10" 
Canvas.Top="100" 
  Text="Съешь ещё этих мягких ф
  ранцузских булок, да выпей чаю."
  Width="200"
  TextWrapping="Wrap" />
</Canvas>

Описание
Это еще один способ разделить текст по строкам. Элемент TextWrapping со значением "Wrap" распределяет слова текстового фрагмента внутри задаваемой ширины Width.
Код Вид в браузере
4.4.3
<Canvas
 xmlns="http://schemas.microsoft.com/
 client/2007"
 xmlns:x="http://schemas.microsoft.com/
 winfx/2006/xaml"
 Width="200" Height="200"
 Background="White"
 x:Name="Page">
 <TextBlock Canvas.Left="10" 
 Canvas.Top="30" 
Text="Обычный" TextDecorations="None"/>
 <TextBlock Canvas.Left="10" 
 Canvas.Top="60" 
><Run TextDecorations="Underline" 
Text="Подчеркнутый"/></TextBlock>
 <TextBlock Canvas.Left="10" 
 Canvas.Top="90"
 ><Run FontWeight="Bold" 
Text="Полужирный"/></TextBlock>
 <TextBlock Canvas.Left="10" 
Canvas.Top="120" ><Run 
FontStyle="Italic" 
Text="Курсив"/></TextBlock>
  
</Canvas>

Описание
Значения элемента TextDecorations определяют стандартный набор текстового выделения

Использование дополнительных шрифтов

Если мы хотим использовать шрифты, не имеющих встроенной поддержки Silverlight, то нам придется добавить файл шрифтов к проекту. Разберем, как это сделать. Переходим в раздел "Панель управления", открываем папку "Шрифты", выбираем какой-нибудь заметный шрифт, например, "Monotype Corsiva" (рис. 4.7):

Шрифт "Monotype Corsiva" в папке "Шрифты"

Рис. 4.7. Шрифт "Monotype Corsiva" в папке "Шрифты"

Копируем файл выбранного шрифта в папку с проектом, а для атрибута FontFamily указываем значение "MTCORSVA.TTF#Monotype Corsiva" (рис. 4.8):

Добавление шрифта в проект Silverlight

увеличить изображение
Рис. 4.8. Добавление шрифта в проект Silverlight

Здесь "MTCORSVA.TTF" – это имя файла шрифта, а "Monotype Corsiva" его название. Обратим внимание на то, что значение без указания названия файла не будет работать, даже если файл размещен в папке с проектом. Полный листинг примера выглядит так:

<Canvas
  xmlns="http://schemas.microsoft.com/client/2007"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  Width="400" Height="100"
  Background="White"
  x:Name="Page">
  
  <TextBlock 
  FontFamily="MTCORSVA.TTF#Monotype Corsiva"
  FontSize="18"  >
  Съешь ещё этих мягких 
  французских булок, 
  да выпей чаю.  </TextBlock>
</Canvas>

Запускаем проект – строка выводится характерным шрифтом:

Вывод текста произвольным шрифтом в Silverlight

Рис. 4.9. Вывод текста произвольным шрифтом в Silverlight
< Лекция 3 || Лекция 4: 1234 || Лекция 5 >
Илья Столупин
Илья Столупин
Россия
Олег Борхаленко
Олег Борхаленко
Украина