Панель переноса, где элементы в строке имеют общую высоту - PullRequest
0 голосов
/ 26 февраля 2011

Я хочу добавить квадраты на панель и обернуть их, как на панели обтекания.

Затем я хочу сделать каждый квадрат по отдельности изменяемым по горизонтали, но когда он по вертикали, мне нужно, чтобы он влиял на всеэлементы в его строке.

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

Кстати, эти "квадраты" являются просто пользовательскими элементами управления или шаблоном данных, применяемыми к источнику элементов списка.Могу ли я использовать один и тот же переплет на панели обертки, может быть, мне нужно выбрать другое решение?

Спасибо

1 Ответ

0 голосов
/ 27 февраля 2011

вы можете попытаться поместить каждый «прямоугольник» в таблицу с одной строкой и одним столбцом, а затем использовать SharedSizeGroup для RowDefinition.Не забудьте также поместить Grid.IsSharedSizeScope = "True" в контейнер:

    <WrapPanel Grid.IsSharedSizeScope="True">
        <Grid>
            <Grid.RowDefinitions>
                <RowDefinition SharedSizeGroup="Group1" />
            </Grid.RowDefinitions>
            <Button Height="40" Content="Hello" />
        </Grid>
        <Grid>
            <Grid.RowDefinitions>
                <RowDefinition SharedSizeGroup="Group1" />
            </Grid.RowDefinitions>
            <Button Content="Hello2" />
        </Grid>
    </WrapPanel>
...