actualmente estoy tratando de obligar a una colección de objetos a un lienzo en Silverlight 3 utilizando un ItemsControl de la siguiente manera:Silverlight 3 - Enlace de datos de posición de un rectángulo en un lienzo
<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>
Por desgracia, parece la unión de el Canvas.Left está siendo ignorado. Por lo que he aprendido here, parece que esto se debe a que los elementos se colocaron dentro de un presentador de contenido, no al lienzo real que he especificado en el panel de elementos.
¿Hay una manera que puede utilizar el enlace para determinar la posición de los elementos en un lienzo de datos?
Lamentablemente, la propiedad Left is readonly and no se puede establecer. – Blounty
No sé la razón por la cual es de solo lectura. De todos modos, pude hacer que funcione usando un convertidor de valor: pero ciertamente no es una solución elegante. –
Mart
¿Cómo funciona el LeftMarginConverter y cuando esto se aplica se aplica el margen de todas las partidas consolidadas en relación con el borde izquierdo del contenedor? – Blounty