Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Работа с текстом

Читайте также:
  1. I. Работа с окнами
  2. I. ЧТО ЕСТЬ ДИПЛОМНАЯ РАБОТА И ЗАЧЕМ ОНА
  3. I.3. Чем дипломная работа может пригодиться после университета
  4. II. Психокоррекционная и развивающая работа
  5. II. РАБОТА НАД ПЕРЕВОДОМ ТЕКСТА
  6. III. Работа с текстом после чтения.
  7. III. Работа с учебником (с. 10).

Silverlight 5 предлагает несколько интересных возможностей при работе с текстом. Так, элементы управления Control, TextBlock и TextElement, имеют новое свойство CharacterSpacing. Это свойство позволяет установить расстояние между символами внутри текста.

Свойство LineHeight позволяет установить ширину строки (можно интерпретировать, как расстояние между строками) и определено в таких элементах как Block, TextBlock, TextBox и RichTextBox. Для элемента RichTextBox можно также задать стратегию с помощью свойства LineStackingStrategy. На рис. 5.4 пример текста внутри элемента TextBlock с расстоянием между строками 30 и расстоянием между символами – 200:


Рисунок 5.4. Пример возможности TextBlock в Silverlight 5.

Наконец, Silverlight 5 стал поддерживать два новых текстовых элемента, это RichTextBlock и RichTextBlockOverflow. Эти элементы аналогичны элементам RichTextBox и RichTextBoxOverflow, но позволяют отображать текст только на чтение.

Рассмотрим небольшой пример с элементом RichTextBlockOverflow:

<StackPanel x:Name="LayoutRoot" Background="White"
Orientation="Horizontal" VerticalAlignment="Top">
<RichTextBlock
Width="250" FontSize="16" OverflowContentTarget=
"{Binding ElementName=SecondBox}">
<Paragraph>
В лесу родилась елочка,
</Paragraph>
........ //повторить 20 разJ
</RichTextBlock>

<RichTextBlockOverflow Width="250" Name="SecondBox">
</RichTextBlockOverflow>
</StackPanel>

Результат работы этого кода показан на рис. 5.5:


Рисунок 5.5. Пример с элементом RichTextBlockOverflow в Silverlight 5.

Как видно, RichTextBlockOverflow может отображать текст, который не «вмещается» в основной элемент RichTextBlock. Благодаря таким элементам мы можем размещать текст в 2, 3 и более колонках (или реализовывать более сложные сценарии).

Печать

Silverlight 5 позволяет теперь не только реализовать растровую, но и векторную печать. Для этих целей используется все тот же метод Print класса PrintDocument, который осуществляет попытку печати в векторном формате, а в случае неудачи (принтер не поддерживает), перейти к печати в растровом виде. Растровую печать можно инициировать с помощью нового метода PrintBitmap.

P/Invoke

В документации эта возможность пока не описана, но она уже реализована – возможность вызова методов Windows API из Silverlight приложений, обладающих повышенными полномочиями. Причем речь идет о приложениях, которые работают как в браузере, так и вне браузера. Поскольку вызов нативных функций в.NET обычно осуществляется с помощью атрибута DllImport. Запустим приложение с повышенными привилегиями:

public partial class MainPage: UserControl
{
[DllImport("user32.dll", CharSet = CharSet.Unicode)]
public static extern int MessageBox(IntPtr hWnd,
String text, String caption, uint type);

public MainPage()
{
MessageBox(new IntPtr(0), "Hello World!", "Hello Dialog", 0);
InitializeComponent();
}
}

На экране, поверх браузера вы увидите стандартный MessageBox.


Дата добавления: 2015-08-13; просмотров: 59 | Нарушение авторских прав


Читайте в этой же книге: Установка шаблонов через стили | Ключевые термины | Задача 3. | Задача 6. | Шаг 1. Применение стиля в XAML документе | Шаг 2. Динамическое применение стилей в коде приложения | Поддержка множества целевых платформ | Built in Types | Ключевые термины | Хронология Silverlight |
<== предыдущая страница | следующая страница ==>
Повышение полномочий для приложений в браузере| Отладка при связывании с данными

mybiblioteka.su - 2015-2024 год. (0.006 сек.)