我是WPF的新手并试图将形状数据绑定到画布上。 我在viewmodel中有一个observableCollection“cake”对象。我已经设法进行数据绑定工作并用我的cakeID编写一个列表,但是想将这些蛋糕添加到画布作为省略号,并且从搜索中我发现itemsControl是唯一的解决方案。因为我有一个可观察的蛋糕集合,而不是一个可观察的对象集合,我正在努力做到这一点。我应该在cake对象中创建椭圆对象,还是只能获取数据并在XAML中创建它?
我的XAML代码看起来像这样,但我对我应该绑定的地方感到困惑,从蛋糕列表中的蛋糕对象中检索椭圆,以及XPos和YPos
<DockPanel>
<Viewbox Margin="30,30,30,42">
<ItemsControl ItemsSource="{Binding Path=cakes}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Canvas Name="canvasWorld" Background="Blue" Width="3996.0" Height="2009.1" IsItemsHost="True">
</Canvas>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Path Data="{Binding ellipse}"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
<ItemsControl.ItemContainerStyle>
<Style>
<Setter Property="Canvas.Top" Value="{Binding Path=XPos}" />
<Setter Property="Canvas.Left" Value="{Binding Path=YPos}" />
</Style>
</ItemsControl.ItemContainerStyle>
</ItemsControl>
</Viewbox>
</DockPanel>