我有一个带有Canvas ItemPanel的WPF ItemsControl。从内部源绘制,它显示许多自动生成的矩形。
到目前为止,它看起来是这样的:
<Window
// .. NameSpaces
>
<Window.Resources>
<DataTemplate x:Key="binTemplate">
<Rectangle x:Name="Rect" VerticalAlignment="Bottom"
Canvas.Left="10" StrokeThickness="0">
// .. Databinding Height, Width, etc
</Rectangle>
</DataTemplate>
</Window.Resources>
<DockPanel x:Name="LayoutRoot" LastChildFill="True">
<ItemsControl
ItemsSource="{Binding Bins}"
ItemTemplate="{StaticResource binTemplate}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Canvas MouseDown="Canvas_MouseDown" MouseMove="Canvas_MouseMove" MouseUp="Canvas_MouseUp">
<Rectangle x:Name="Selection" Canvas.Left="0" Canvas.Top="0" Visibility="Hidden" />
</Canvas>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
</ItemsControl>
</DockPanel>
</Window>
我试着将这个框添加到itemscontrolpaneltemplate中,并用Canvas鼠标事件来控制它,但似乎我不被允许这样做。错误消息是“无法显式修改用作ItemsControl的ItemsPanel的面板的子集合。ItemsControl为面板“”生成子元素
提前谢谢!