我需要展示纸牌游戏板。我的BoardViewModelM公开了一个IEnumerable,其中CardViewModel具有应该在板上绘制卡的信息。 我想要baord:
我在考虑:
我应该采取什么行动?
答案 0 :(得分:3)
我会使用绑定来显示您的卡片集合 - 一种方法是使用ItemsControl
Canvas
作为ItemsPanel
,并将ItemContainerStyle
设置为每个卡。类似的东西:
<ItemsControl ItemsSource="{Binding CardCollection}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Canvas />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Image Source="{Binding CardImage}" Width="{Binding CardWidth}" Height="{Binding CardHeight}" />
</DataTemplate>
</ItemsControl.ItemTemplate>
<ItemsControl.ItemContainerStyle>
<Style>
<Setter Property="Canvas.Left" Value="{Binding CardX}" />
<Setter Property="Canvas.Top" Value="{Binding CardY}" />
</Style>
</ItemsControl.ItemContainerStyle>
</ItemsControl>