我有一個ObservableCollection<Class1>
其中Class1
包含x
和y
職位作爲屬性。該列表可以是任何大小的。我有一個ViewModel將集合公開爲屬性。在我看來,我想根據集合生成元素列表,然後根據Class1對象的屬性設置它們的x和y位置。動態創建元素並將它們綁定到列表中<T>
我該怎麼做?我知道我可以輕鬆地將集合控件(如列表視圖)輕鬆綁定到集合。但是我需要綁定它並且元素使用x,y屬性將自己放置在畫布上。任何想法讚賞。
我有一個ObservableCollection<Class1>
其中Class1
包含x
和y
職位作爲屬性。該列表可以是任何大小的。我有一個ViewModel將集合公開爲屬性。在我看來,我想根據集合生成元素列表,然後根據Class1對象的屬性設置它們的x和y位置。動態創建元素並將它們綁定到列表中<T>
我該怎麼做?我知道我可以輕鬆地將集合控件(如列表視圖)輕鬆綁定到集合。但是我需要綁定它並且元素使用x,y屬性將自己放置在畫布上。任何想法讚賞。
您可以使用畫布作爲ItemsControl中的你ItemsPanel,然後綁定在ItemContainerStyle到X的Canvas.Top和Canvas.Left屬性和Y屬性:
<ItemsControl ItemsSource="{Binding}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Canvas />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemContainerStyle>
<Style>
<Setter Property="Canvas.Left" Value="{Binding X}" />
<Setter Property="Canvas.Top" Value="{Binding Y}" />
</Style>
</ItemsControl.ItemContainerStyle>
</ItemsControl>
+1這似乎是非常有前途的。不幸的是,直到今天晚些時候我都無法嘗試。我會嘗試一下,然後發佈一些東西。謝謝 – Aishwar 2010-09-28 14:17:19
這對我有效。謝謝 – Aishwar 2010-10-03 21:07:22