Silverlight: LineGeometry на холсте не следует за курсором - PullRequest
0 голосов
/ 16 декабря 2009

В Silverlight я пытаюсь нарисовать линию на холсте, установив EndPoint элемента LineGeometry в положение курсора. В событии MouseMove Canvas я делаю это:

line.EndPoint = e.GetPosition (this);

где "это" - холст.

"line" - это элемент LineGeometry, добавляемый в GeometryGroup, а GeometryGroup добавляется к объекту пути, который добавляется в коллекцию Canvas 'Children.

Строка не отображается на холсте. Что вызывает это?

1 Ответ

0 голосов
/ 17 декабря 2009

Это не та область, которую я очень хорошо понимаю, и я отвечаю только потому, что никто еще не ответил :-). Но я думаю, что проблема может заключаться в том, что EndPoint строки определен относительно ее контейнера (GeometryGroup), но структура Point, возвращаемая e.GetPosition (this), относительно содержащего элемента управления. Возможно, вам придется применить Transform к e.GetPosition (this), чтобы получить правильную точку. См. здесь для более подробной информации о том, как работают преобразования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...