我会用结合,以显示你的采集卡 - 一个选项是使用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>
谢谢,我只是这样做,只适用于重新调整大小,我创建了一个从Canvas派生的自定义面板。是否可以指示画布自动调整内容大小,以便使用分配给它的空间显示所有内容? –