Основы проектирования интерфейсов с использованием технологии Windows Presentation Foundation. Шамшев Ан. Б. - 79 стр.

UptoLike

Составители: 

79
3.8. InkCanvas
WPF также включает элемент InkCanvas, который подобен
Canvas в одних отношениях и совершенно отличается в других. По-
добно Canvas, элемент InkCanvas определяет четыре прикрепленных
свойства, которые можно применить к дочерним элементам для коор-
динатного позиционирования (Top, Left, Bottom и Right). Однако ле-
жащий в его основе механизм существенно отличается. Фактически,
InkCanvas не наследуется от Canvas и даже не наследуется от базового
класса Panel. Вместо этого он наследуется непосредственно от
FrameworkElement.
Главное предназначение InkCanvas заключается в обеспечении
перьевого ввода, используемого в смартфонах, планшетах и наладон-
ных ПК. Однако InkCanvas работает с мышью точно так же, как и с
пером. Поэтому пользователь может рисовать линии или выбирать и
манипулировать элементами в InkCanvas с применением мыши.
InkCanvas в действительности содержит две коллекции дочерне-
го содержимого. Рассмотренная выше коллекция Children содержит
произвольные элементыкак и Canvas. Каждый элемент может быть
позиционирован на основе свойств Top, Left, Bottom и Right. Коллек-
ция Strokes содержит объекты System.Windows.Ink.Stroke, представ-
ляющие графический ввод, который рисует пользователь в InkCanvas.
Каждая линия или кривая, которую рисует пользователь, становится
отдельным объектом Stroke. Благодаря этим двум коллекциям, можно
использовать InkCanvas для того, чтобы позволить пользователю ан-
нотировать содержимое (хранящееся в коллекции Children) пометка-
ми (хранящимися в коллекции Strokes).
Например, на рис. 18 показан элемент InkCanvas, содержащий
картинку, аннотированную дополнительными пометками. Вот раз-
метка InkCanvas из этого примера, которая определяет изображение:
<InkCanvasName="inkCanvas"Grid.Row="1"
Background="LightYellow"Editing