private void Service_StrokeEnded(object sender, StrokeEndedEventArgs e) { Dispatcher.Invoke(DispatcherPriority.Background, new Action(() => { var pathPart = e.PathPart; var data = pathPart.Data.GetEnumerator(); //Data is stored XYW float x = -1; float y = -1; float w = -1; if (data.MoveNext()) { x = data.Current; } if (data.MoveNext()) { y = data.Current; } if (data.MoveNext()) { //Clamp to 0.0 -> 1.0 w = Math.Max(0.0f, Math.Min(1.0f, (data.Current - 1.0f) * pFactor)); } var point = new System.Windows.Input.StylusPoint(x * m_scale, y * m_scale, w); Dispatcher.Invoke(DispatcherPriority.Background, new Action(() => { _strokes[_strokes.Count - 1].StylusPoints.Add(point); NotifyPropertyChanged("Strokes"); })); m_addNewStrokeToModel = true; })); }
private void Service_StrokeEnded(object sender, StrokeEndedEventArgs e) { Debug.WriteLine("Stroke End"); }