我正在尝试为我现有的多图纸的重画功能生成一个线程。我在这里读到这是可能的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