- Kód: Vybrat vše
mMyDelegateType work = delegate
{
TrainMove(mMap.Tracks[0]);
};
this.Dispatcher.BeginInvoke(DispatcherPriority.Normal, work);
mMyDelegateType work1 = delegate
{
TrainMove(mMap.Tracks[1]);
};
this.Dispatcher.BeginInvoke(DispatcherPriority.Normal, work1);
a tu metoda, ktora vykresluje vlak:
- Kód: Vybrat vše
private async void TrainMove(List<Track> aTrack)
{
foreach (var nItem in aTrack)
{
Image lTrain = new Image
{
Source = new BitmapImage(new Uri("/Resources/train.bmp", UriKind.Relative))
};
lTrain.Tag = "train";
Canvas.SetLeft(lTrain, nItem.X);
Canvas.SetTop(lTrain, nItem.Y);
RunCanvas.Children.Add(lTrain);
await Task.Delay(50);
RunCanvas.Children.Remove(lTrain);
}
}
Skusal som to BeginInvoke davat do cyklu, Pouzit len Invoke, ale nic nepomohlo. Teraz ma napadlo, ze ci to nie je obmedzene tym ze tie vlakna citaju z jednej premenej mMap.Track.
Dakujem za rady.