IlegalOperationException
パラメータが別のスレッドを所有しているため、次のコードを取得しています。この例外が発生する理由はわかっていますが、この問題を解決する方法がわかりません。
//called on UI thread
public void redraw()
{
new Thread(setPoints).Start(); //calculating new points
}
void setPoints()
{
PointCollection c = new PointCollection();
//calculating points to collection
Task.Factory.StartNew((Action<object>)((p) => { polyline.Points = (PointCollection)p; }), c);
}
編集:
ここにコーディネーターとのラインがあります
polyline.Dispatcher.Invoke((Action<PointCollection>)((p) => { polyline.Points = p; }), c);