c# – 如何将画布绑定到矩形列表

使用WPF我有一个矩形列表(其中可以有一个未定义的矩形数)和一个画布.我想使用数据绑定将这些矩形放在画布上.

我尝试过使用一个项目控件,似乎将每个项目堆叠在下一个项目的顶部,就像垂直堆栈面板一样.

我的所有矩形都有坐标0,0,但它们在画布上都是相互叠加的.

使用物品控制的任何替代方案?

您需要考虑绑定时项目的包装:

<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>
https://stackoverflow.com/questions/5672063/how-to-bind-a-canvas-to-a-list-of-rectangles

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:c# – 如何将画布绑定到矩形列表