1
我想让这个Ellipse从它相应的BallViewModel中获取它的坐标,并使用它们来确定它在画布中的位置。 在mainviewmodel中,球的列表绑定到List<BallVM>
,因此我选择了一个具有画布面板的itemsControl。如何让itemtemplate意识到它的包含模板?
这种方法是否正确?
如果我尝试绑定到itemcontainerstyle内的X和Y,那么它不是特定于某个球。
无论我在Canvas.bottom或canvas.left属性中设置的椭圆始终位于左上角。
<Grid>
<ItemsControl ItemsSource="{Binding Balls}" Background="red">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Canvas MouseMove="Canvas_MouseMove" Background="Blue"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate DataType="{x:Type VM:BallVM}">
<Ellipse Canvas.Bottom="{Binding Y}" Canvas.Left="{Binding X}" Width="100" Height="100" Fill="Red"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</Grid>