向 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 设置为负值。
我有以下 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 设置为负值。