我目前正在尝试使用ItemsControl将一组对象绑定到Silverlight 3中的Canvas,如下所示:
<ItemsControl x:Name="ctrl" ItemsSource="{Binding myObjectsCollection}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Canvas></Canvas>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Rectangle Stroke="LightGray" Fill="Black" StrokeThickness="2"
RadiusX="15" RadiusY="15" Canvas.Left="{Binding XAxis}"
Height="25" Width="25">
</Rectangle>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
很不幸,似乎Canvas.Left的绑定被忽略了。从我所学到的这里来看,这似乎是由于项目被放置在内容呈现器中而不是我在项目面板中指定的实际画布。
是否有一种方法可以使用数据绑定来确定画布上元素的位置?