我有以下XAML代码,椭圆移入和移出矩形区域。我想通过绘制一个矩形来标记这个区域,但我找不到在画布中绘制它的方法,因为无法将矩形添加到我的observableCollection“气球”。
<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>
我已尝试过hierichial datatemplate,但我无法使其正常工作。理想情况下,我想数据化矩形的大小和位置,但现在用静态值绘制它将是一个很好的开始。
答案 0 :(得分:0)
我无法找到在itemscontrol中添加它的方法,但是我通过在激活的一个旁边添加一个画布来实现我想要的,并在Canvas.Left设置为a的画布中添加形状负值。