Измените Свойство PointCollections на свойство зависимости:
public PointCollection Pts
{
get { return (PointCollection)GetValue(PtsProperty); }
set { SetValue(PtsProperty, value); }
}
// Using a DependencyProperty as the backing store for Pts. This enables animation, styling, binding, etc...
public static readonly DependencyProperty PtsProperty =
DependencyProperty.Register("Pts", typeof(PointCollection), typeof(ViewModel), new UIPropertyMetadata(new PointCollection()));
Кстати, для этого вам не нужно запускать событие PropertyChanged.
Извините, ваш объект должен наследоваться от DependencyObject
public class ViewModel : DependencyObject
{
//...
}