我正在嘗試爲我現有的多圖紙的重畫功能生成一個線程。我在這裏讀到這是可能的UI可以實現線程看到這裏LINK,但我不能用它在我的redrawSingelPoly()函數....任何想法如何我可以使用redrawSingelPoly()作爲線程?帶UI的線程(畫布)
在我MainWindow.xaml.cs:
正所謂,當用戶按下我的主窗口上的按鈕:
private void SingleSelectedMeasurement(object sender, RoutedEventArgs e)
{
System.Windows.Controls.Button button = (System.Windows.Controls.Button)sender;
RedrawSingelMeasurement(Convert.ToInt16(button.Tag));
}
private void RedrawSingelMeasurement(int selectedMeasurement)
{
selectedMeasurement = selectedMeasurement - 1;
for (int i = 0; i < measurements.Length; i++)
{
if (selectedMeasurement != i)
{
measurements[i].draw = false; //block drawing
}
else
{
measurements[i].draw = true; // remove block for drawing
}
}
measurements[selectedMeasurement].redrawSingelPoly();
}
在我Measurement.cs:
public void redrawSingelPoly()
{
Polyline poly = new Polyline();
poly.Stroke = colorBrush;
poly.StrokeThickness = basicLineThick;
//first clean all
coordinateSystem.Children.Clear();
poly.Points = points;
//draw
coordinateSystem.Children.Add(poly);
}
將該方法包裝在一個「Action」委託中,並將其傳遞給UI調度程序。 – PoweredByOrange