Как привязать холст к списку прямоугольников - PullRequest
4 голосов
/ 15 апреля 2011

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

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

Все мои прямоугольники имеют координаты 0,0, но все они располагаются друг над другом вниз по холсту.

Есть ли альтернативы использованию элемента управления?

1 Ответ

6 голосов
/ 15 апреля 2011

Вам необходимо учитывать упаковку предметов, когда они связаны:

<ItemsControl ItemsSource="{Binding Data}">
    <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate>
            <Canvas />
        </ItemsPanelTemplate>
    </ItemsControl.ItemsPanel>
    <ItemsControl.ItemContainerStyle>
        <Style>
            <Setter Property="Canvas.Left" Value="{Binding X}"/>
            <Setter Property="Canvas.Top" Value="{Binding Y}"/>
        </Style>
    </ItemsControl.ItemContainerStyle>
    <ItemsControl.ItemTemplate>
        <DataTemplate>
            <!-- Item Template -->
        </DataTemplate>
    </ItemsControl.ItemTemplate>
</ItemsControl>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...