Я реализовал линию, которая нарисована почти так же, как ваша.Единственная разница в том, что моя строка определена в представлении xaml и является частью специального пользовательского контроля, полученного из canvas.На ваши вопросы:
1.) Параметр в getPosition - это InputElement, который относится к позиции, которую вы хотите узнать.Поскольку рисование происходит на вашем родительском канве, используйте это.
2.), Как упоминалось выше, родительский холст - это ваш корневой элемент, поэтому лучше всего было бы присоединить ваш mouseHandler к parentCanvas MouseMove
3.Я бы не стал создавать новую строку каждый раз, когда движется мышь.Вместо этого используйте линию (или полилинию в вашем случае) в качестве частного члена или используйте линию, определенную в XAML, и просто измените ее геометрию через свойство данных.например,
<Path x:Name="path" Stroke="Black" StrokeThickness="2" Data="{Binding PathGeometry}">
HTH