У меня есть список, и я хочу перебирать список и рисовать элемент каждую секунду.Я пытаюсь использовать процедуру AddChild элемента canvas.Это своего рода то, что я делаю;Я пытался справиться с фоновым работником и Dispatcher.Invoke, чтобы попытаться решить проблемы с многопоточностью, но безуспешно:
public class MyWindow : Window
{
protected void OnMouseClick(object sender, MouseEventArgs args)
{
List<UIElement> elements = GetElements();
Canvas canvas = new Canvas();
this.AddChild(canvas);
foreach (var k in elements)
{
canvas.Children.Add(k);
Thread.Sleep(1000);
}
}
}
Я в основном пытаюсь нарисовать слайд-шоу с фигурами, но оно блокируетсяна этой линии: this.AddChild(canvas)
.Я, очевидно, что-то делаю не так с потоками, но не могу понять.
Как мне изменить мой код, чтобы каждую секунду отображать одну фигуру в окне.Я хотел бы в конечном итоге очистить предыдущую фигуру, прежде чем рисовать следующую, но это может произойти позже.