我正在构建BlackJack程序,目前正在手显示器上工作。如何设置WPF的ItemsControl以在独特的位置显示每个元素?
我有一个PlayerSeat UserControl,里面有一个ItemsControl用于显示卡片。和普通的大酒杯比赛一样,这张牌(我的情况是这样)是放在彼此顶上的。不同的游戏动作(分割,双下等)必须改变屏幕上卡片的布局。 ItemsControl的ItemSource属性是我的Player的ViewModel中的“ObservableCollection<Card> Hand
”属性。卡片对象包含具有卡片图像的BitmapSources。
我已经浏览了几个网页(请参阅文章的结尾),以了解如何实现我想要的功能。我正在寻找一种方法来做两种选择之一。
(优选)指定每个“手动模式”的布局(分体,双下,等),并指定手(
OC<Card>
)的每个索引应放置在顺序。例如,对于Hand中的第一张牌,将源控件绑定到Hand [0] .CardImage的Image控件放在(X1,Y1)处,然后将Hand [1]图像放在(X2,Y2)等等。这可以通过在ItemsControl上设置某种绑定模板属性(在手形模式之间切换)来进行优化调整。(回退)显示所有带有其属性绑定的图像控件。将这些图像的Top/Left属性绑定到Hand [0] .Top/Left并在Hand类中执行布局计算。
我不是一个人问问自己没有调查的问题。看来我需要使用StackPanel的ItemsPanelTemplate,但不知道从哪里开始。关键是让图像重叠并放置在我想要的地方。你可以在我的问题上解决任何问题都会有所帮助。
参考: http://drwpf.com/blog/itemscontrol-a-to-z/(具体 “的ItemsControl: 'P' 是面板”)