我正在構建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' 是面板」)