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>