2011-04-15 67 views
3

使用WPF我有一個矩形列表(其中可以有未定義數量的矩形)和一個畫布。我想使用數據綁定將這些矩形放在畫布上。如何將畫布綁定到矩形列表

我已經嘗試過使用項目控件,並且似乎將每個項目堆疊在下一個項目之上,就像一個垂直堆棧面板。

我所有的矩形都有座標0,0,但它們全部在畫布下方。

任何使用項目控件的替代方法?

回答

5

您需要綁定時,佔項目的包裝:

<ItemsControl ItemsSource="{Binding Data}"> 
    <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.ItemTemplate> 
     <DataTemplate> 
      <!-- Item Template --> 
     </DataTemplate> 
    </ItemsControl.ItemTemplate> 
</ItemsControl> 
+0

OK平靜下來。謝謝。 – peter 2011-04-15 03:40:07

+0

歡迎您:) – 2011-04-15 03:41:06