pet*_*ter 4 .net c# data-binding wpf xaml
使用WPF我有一个矩形列表(其中可以有不确定数量的矩形)和一个画布.我想使用数据绑定将这些矩形放在画布上.
我尝试过使用一个项目控件,似乎将每个项目堆叠在下一个项目的顶部,就像垂直堆栈面板一样.
我的所有矩形都有坐标0,0,但它们在画布上都是相互叠加的.
使用物品控制的任何替代方案?
您需要在绑定时考虑项目的包装:
<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>
Run Code Online (Sandbox Code Playgroud)