Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
WPF-практика 3 Текст.doc
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
1.59 Mб
Скачать

Элемент TextBlock с текстурой символов

Текст в элементе TextBlock можно закрашивать произвольным рисунком.

  • В панели Solution Explorer создайте для корня дерева проекта папку Images и добавьте в нее (командой Add ) из прилагаемого к работе каталога Source файлы Image1.jpg и Image2.png

  • Добавьте в файл Window1.xaml новую вкладку со следующей разметкой

<!--Вкладка TextBlock2-->

<TabItem Header="TextBlock2">

<Canvas Background="Black">

<TextBlock

Canvas.Left = "10"

Canvas.Top="10"

FontFamily="Arial"

FontSize="36"

Foreground="Red"

Text="SolidColorBrush"

/>

<TextBlock

Canvas.Left = "10"

Canvas.Top="50"

FontFamily="Arial"

FontSize="75"

Text="Image1">

<TextBlock.Foreground>

<ImageBrush ImageSource="Images\Image1.jpg" Opacity=".9" />

</TextBlock.Foreground>

</TextBlock>

<TextBlock

Canvas.Left = "10"

Canvas.Top="130"

FontFamily="Arial"

FontSize="75"

Text="Image2">

<TextBlock.Foreground>

<ImageBrush ImageSource="Images/Image2.png" />

</TextBlock.Foreground>

</TextBlock>

</Canvas>

</TabItem>

  • Запустите приложение - должно получиться следующее

  • Изучите приведенный код

Автоматический перенос слов в TextBlock

Если явно определить ширину элемента TextBlock и задать атрибут TextWraping="Wrap", то блочный текст будет автоматически размещаться внутри заданной ширины.

  • Добавьте в файл Window1.xaml новую вкладку со следующей разметкой

<!--Вкладка TextBlock3-->

<!-- Элемент TextBlock с переносом строк -->

<TabItem Header="TextBlock3">

<Grid Background="White">

<TextBlock

TextWrapping="Wrap"

FontSize="18"

TextAlignment="Center" >

Если в элементе TextBlock задать атрибут TextWraping="Wrap",

то блочный текст будет автоматически размещаться внутри

заданной ширины

<LineBreak />

<Run Foreground="Red" FontSize="28" FontFamily="Monotype Corsiva">

Панель Grid здесь введена для создания белого фона

</Run>

<LineBreak />

<Run FontSize="12">

Общие настройки родителя действуют на потомков до тех пор,

пока не будут переопределены внутри самих потомков

</Run>

</TextBlock>

</Grid>

</TabItem>

  • Запустите приложение - должно получиться следующее

  • Изучите приведенный код