【发布时间】:2011-08-06 00:52:09
【问题描述】:
使用 WPF 我有一个矩形列表(其中可以有未定义数量的矩形)和一个画布。我想使用数据绑定将这些矩形放置在画布上。
我尝试过使用项目控件,并且似乎将每个项目堆叠在下一个项目的顶部,就像垂直堆栈面板一样。
我所有的矩形的坐标都是 0,0,但它们都在画布下方相互重叠。
使用项目控件的任何替代方法?
【问题讨论】:
标签: c# .net wpf xaml data-binding
使用 WPF 我有一个矩形列表(其中可以有未定义数量的矩形)和一个画布。我想使用数据绑定将这些矩形放置在画布上。
我尝试过使用项目控件,并且似乎将每个项目堆叠在下一个项目的顶部,就像垂直堆栈面板一样。
我所有的矩形的坐标都是 0,0,但它们都在画布下方相互重叠。
使用项目控件的任何替代方法?
【问题讨论】:
标签: c# .net wpf xaml data-binding
您需要考虑绑定时物品的包装:
<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>
【讨论】: