Практика «Fractal Painter. DIP» Скачайте проект DI-container.FractalPainter и запустите его. Перед вами программа, которая умеет рисовать фракталы с заданными настройками. Также можно задавать дополнительные настройки размера изображения и цвета отрисовки (пока что цвет отрисовки можно менять только у кривой Коха). Рекомендуем изучить сам проект и принцип его работы. Это в будущем позволит вам лучше понять, как внедрение DI-контейнера […]
Решения задачи с Ulearn
Практика «Документация» Если документация хранится отдельно от кода, она очень легко и быстро устаревает и становится неактуальной. Один из способов сохранять документацию в актуальном состоянии — это писать её максимально близко к коду. Иногда для этого используют атрибуты, информацию из которых извлекают и собирают с помощью рефлексии. Вот эту технику вам и предстоит применить в […]
Анимация WPF
Каждая анимация в WPF работает на основе отдельного свойства зависимости. Для того, что бы анимировать свойство, требуется классанимации, который поддерживает тип данных свойства. Например, для анимации свойства Height типа Double следует использовать класс DoubleAnimation Стандартная частота анимации — 60 кадров в секунду. Типы анимации Линейная интерполяция – последовательное изменения значения свойства (такие классы называются по […]
Документы и печать WPF
Типы документов Фиксированные документы – документы готовые для печати. Всепозиционирование в документе является фиксированным. Потоковые документы – документ предназначен для просмотра на мониторе, WPF может компоновать содержимое документа динамически. Типы элементов содержимого Блочные элементы – применяются для группирования других элементов. Например: Paragraph. Встроенные элементы – содержат данные, которые будут находится в блочном элементе. Например: Run. […]
Как масштабировать текст в WPF?
Всем привет, сегодня покажу простенький пример того как можно масштабировать текст в окне формы. Представим что у нас есть текст и пользователь может по желанию увеличить его или уменьшить. Приведу сразу XAML разметку, а ниже мы ее разберем.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<Window x:Class="WpfApp12.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:WpfApp12" mc:Ignorable="d" Title="nookery.ru" Height="450" Width="800"> <Grid> <FlowDocumentScrollViewer Name="DocView" IsToolBarVisible="True"> <FlowDocument> <Paragraph TextAlignment="Center" FontSize="20">Сколько планет в солнечной системе?</Paragraph> </FlowDocument> </FlowDocumentScrollViewer> </Grid> </Window> |
Создадим потоковый документ. В разметке используем FlowDocumentScrollViewer это контейнер с линией прокрутки, он не поддерживает разбиение […]