我目前正在尝试使用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>
Run Code Online (Sandbox Code Playgroud)
不幸的是,似乎Canvas.Left上的绑定被忽略了.根据我在这里学到的东西,这似乎是由于项目被放置在内容展示器内而不是我在项目面板中指定的实际画布.
有没有办法可以使用数据绑定来确定画布上元素的位置?