向 ItemsControl 添加多个形状,而不是在集合中

Adding multiple shapes to ItemsControl, not in collection

我有以下 XAML 代码,椭圆在矩形区域中移入和移出。我想通过绘制一个矩形来标记这个区域,但是我找不到在画布中绘制它的方法,因为无法将矩形添加到我的 observableCollection "balloons".

<ItemsControl Name="IC" ItemsSource="{Binding balloons}">
            <ItemsControl.ItemsPanel>
                <ItemsPanelTemplate>
                    <Canvas Name="canvasWorld" Background="Blue" Width="{Binding canvasWidth}"  Height="{Binding canvasHeight}" IsItemsHost="True"/>
                </ItemsPanelTemplate>
            </ItemsControl.ItemsPanel>
            <ItemsControl.ItemContainerStyle>
                <Style TargetType="ContentPresenter">
                    <Setter Property="Canvas.Left" Value="{Binding XPos}"/>
                    <Setter Property="Canvas.Top" Value="{Binding YPos}"/>
                </Style>
            </ItemsControl.ItemContainerStyle>
            <ItemsControl.ItemTemplate>
                <DataTemplate>

                    <Ellipse Width="{Binding Width}" Height="{Binding Height}" Fill="{Binding color}" Stroke="{Binding colorBorder}" StrokeThickness="3">
                        <Ellipse.RenderTransform>
                            <TranslateTransform X="-20" Y="-20"/>
                        </Ellipse.RenderTransform>
                    </Ellipse>
                </DataTemplate>
            </ItemsControl.ItemTemplate>
        </ItemsControl>

我试过分层数据模板,但我无法让它工作。理想情况下,我想对矩形的大小和位置进行数据绑定,但现在用静态值绘制它是一个很好的开始。

我找不到在 itemscontrol 中添加它的方法,但我通过在现有的 canvas 旁边添加一个 canvas 并在其中添加形状来实现我想要的 canvas Canvas.Left 设置为负值。