У меня возникают некоторые проблемы с производительностью в этом коде, когда наложение на область холста происходит с задержкой, если я оставляю холсты в шаблоне данных, но без задержки, если вынимаю их (но очевидно, что привязки Canvas.Left не работает, поэтому эллипсы находятся не в том месте!) Есть ли способ расположить эти элементы, не требуя, чтобы каждый из них имел свой собственный холст?
<Canvas>
<ItemsControl ItemsSource="{Binding Path=SpatialData.TrainEvents.ArrDepEllipseOfLines}" Name="ctrlChartTrainEventsArrDep" >
<ItemsControl.ItemTemplate>
<DataTemplate>
<Canvas>
<Ellipse Width="{Binding EventShape.Width}" Height="{Binding EventShape.Height}" Stroke="{Binding Path=Stroke}" StrokeThickness="{Binding StrokeThickness}" Fill="{Binding Path=Fill}" Canvas.Left="{Binding CanvasPlacement.X}" Canvas.Top="{Binding CanvasPlacement.Y}" />
</Canvas>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</Canvas>
Большое спасибо,
Бекки