我目前正在爲下面用一個ItemsControl對象的集合綁定到畫布在Silverlight 3綁定一個長方形的位置:的Silverlight 3 - 數據畫布
<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被忽略。從我學到的here中可以看出,這是由於項目放置在內容展示器中,而不是我在項目面板中指定的實際畫布。
有沒有一種方法可以使用數據綁定來確定畫布上元素的位置?
不幸的是,屬性Left是隻讀的,無法設置。 – Blounty 2009-10-29 13:32:35
我不知道它爲什麼是隻讀的原因。 無論如何,我設法使用值轉換器: 但這當然不是一個優雅的解決方案。 –
Mart
2009-10-29 16:21:18
LeftMarginConverter如何工作以及何時應用這個邊界,是相對於容器左邊緣應用於所有邊界項目的邊距? – Blounty 2009-10-30 10:55:34