Главная » WPF » Элемент управления InkCanvas

0

С основами  использования элемента  InkCanvas мы познакомились, но это далеко не все. Элемент RichTextBox обладает всей функциональностью, необ# ходимой для реализации редактора WordPad, включенного  в дистрибутив Windows.   А  с  помощью   InkCanvas  мы  можем   реализовать  приложение Journal.  Все необходимое  уже имеется: выделение  фрагмента,  стирание, подс# вечивание,  описание  советов  и т.д. Пожалуй,  наиболее  интересна  поддержка жестов.

Распознаватель жестов анализирует рукописные данные и определяет, не пы# тался ли пользователь ввести какой#нибудь из 41 жеста (включены все, от галоч# ки  (Check) до двойной  завитушки (DoubleCurlicue)).  Чтобы  включить  режим распознавания жестов, нужно выполнить два важных шага: во#первых, присвоить свойству  EditingMode объекта InkCanvas значение  InkAndGesture, а, во#вторых, вызвать метод SetEnabledGestures объекта InkCanvas, чтобы сообщить распозна# вателю, какие объекты искать:

<!— InkCanvasTest.xaml —>

<Window … x:Class=’EssentialWPF.InkCanvasTest’ Title=’EssentialWPF’

<StackPanel>

<InkCanvas Height=’200’ Name=’_ink’ Gesture=’InkGesture’ EditingMode=’InkAndGesture’ />

<ListBox Name=’_seen’ />

</StackPanel>

</Window>

// InkCanvasTest.xaml.cs

public partial class InkCanvasTest : Window {

public InkCanvasTest() { InitializeComponent();

_ink.SetEnabledGestures(new ApplicationGesture[] { ApplicationGesture.AllGestures,

});

}

void InkGesture(object sender, InkCanvasGestureEventArgs e) {

_seen.Items.Add(

e.GetGestureRecognitionResults()[0].ApplicationGesture);

}

}

Запустите эту программу  и попробуйте  несколько  разных жестов (рис. 3.34), чтобы понять,  насколько  ваш почерк  близок  к тому, что понимает  распознава# тель. Жесты – это прекрасный способ включить  поддержку рукописного  ввода в приложение.

Рис. 3.34. Распознавание жестов в элементе управления InkCanvas

Источник: К. Андерсон  Основы  Windows Presentation Foundation. Пер. с англ. А. Слинкина — М.: ДМК Пресс, 2008 — 432 с.: ил.

По теме:

  • Комментарии