Поделиться через


Работа с коллекцией Strokes

Коллекция Strokes , анализируемая объектом Divider , хранится в свойстве Strokes объекта Divider . Так как коллекция Strokes является ссылкой на данные рукописного ввода, а не сами данные, изменения в родительском объекте Ink коллекции Strokes могут сделать коллекцию Strokes недействительной. Дополнительные сведения о данных рукописного ввода см. в разделе Данные рукописного ввода. Дополнительные сведения о коллекции рукописного ввода см. в разделе Коллекция рукописного ввода.

Чтобы синхронизировать свойство Strokes объекта Divider с объектом Ink , используйте события InkAdded и InkDeleted объекта Ink для прослушивания штрихов, которые следует добавить или удалить из объекта Divider . Здесь рассматриваются случаи, когда штрихи добавляются в объект Ink, удаляются из, обрезаются или разбиваются в объекте Ink . Перемещение, масштабирование или другие преобразования штрихов в объекте Ink не создают события InkAdded или InkDeleted . Чтобы отразить такое преобразование в свойстве Strokes объекта Divider , выполните то же преобразование для штрихов в объекте Разделитель .

Свойство Strokes объекта DivisionResult содержит копию штрихов в объекте Divider на момент создания объекта DivisionResult . Свойства Strokes двух объектов DivisionResult можно сравнить, чтобы определить, изменялись ли штрихи между двумя вызовами метода Divide .

Свойство Strokes объекта DivisionUnit содержит подмножество штрихов в объекте DivisionResult , которые соответствуют этому элементу. Эти штрихи можно передать в отдельный RecognizerContext , чтобы получить результат распознавания элемента. Так как элементы рукописного ввода существуют на разных уровнях детализации, коллекции Strokes для разных элементов могут перекрываться. Например, коллекция Strokes для элемента сегмента распознавания будет подмножеством коллекции Strokes для элемента line, частью которого является сегмент распознавания.