Расположение WPF для сложной карточной игры

Как мой первый проект WPF, я пытаюсь создать приложение для проигрывания карточной игры, подобной Волшебству Сбор. Мне не ясно, как разметить основную область воспроизведения. Вы видите некоторые примеры, которые подобны тому, чего я делаю попытку путем рассмотрения примера 1 или примера 2. Областями чата/информации справа были бы средства управления отдельного пользователя.

Карты должны поддержать свои соотношения сторон, и каждая область воспроизведения запустилась бы с 10 столбцов и две строки карт. Поскольку больше карт играется, число столбцов и/или строк может измениться. Каждая область плеера может иметь различное число столбцов и/или строк. Карты могут наложиться и могут быть помещены боком (коснувшиеся). Карты во всех областях должны быть тем же размером (хотя они могут быть обрезаны в некоторых областях). Карты не должны лежать точно на сетке (они делают не обязательно снимок к сетке).

Когда пользователь нависает мышь над картой, она должна расшириться до значительно большего размера с помощью анимации. Карта в одной области плеера может переполниться в область другого игрока при расширении (но только пока парения мыши).

Учитывая эти требования, я испытываю желание использовать один большой пользовательский элемент управления, полученный из Холста с объектами изображения для каждой карты (наряду с другими формами для формирования рисунка областей). Это подразумевает, что я буду делать большую работу во время события OnRenderSizeChanged для расположения дочерних объектов в холсте (ручное расположение).

Используя сетку не кажется выполнимым мне, из-за размещения свободной формы и перекрытия.

Разложение области воспроизведения в меньшие пользовательские элементы управления усилило бы возможности расположения WPF, но кажется, что разложение препятствовало бы тому, чтобы карты расширились в смежные пользовательские элементы управления во время наведения мыши, так, чтобы не казался выполнимым также.

Существует ли лучшая альтернатива одному большому основанному на холсте управлению? Кажется неправильным сделать ручное расположение в WPF, но я не вижу альтернативу.

5
задан Doug 21 July 2010 в 15:06
поделиться