7
我将具有Canvas的ItemsControl作为ItemsPanelTemplate绑定到ObservableCollection。将ItemsControl与可拖动项目合并 - Element.parent始终为空
我想要的物品拖动使用DraggableExtender,张贴在 Dragging an image in WPF (我不想使用转换 - 我需要使用Canvas Left和Top属性)
它的定义为:
<ItemsControl ItemsSource="{Binding Path=Nodes}">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<Canvas IsItemsHost="True" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Views:NodeView DataContext="{Binding}"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
<ItemsControl.ItemContainerStyle>
<Style TargetType="ContentPresenter">
<Setter Property="Utilities:DraggableExtender.CanDrag" Value="True" />
<Setter Property="Canvas.Left" Value="{Binding Path=X}" />
<Setter Property="Canvas.Top" Value="{Binding Path=Y}" />
</Style>
</ItemsControl.ItemContainerStyle>
</ItemsControl>
的DraggableExtender需要元素的父是画布, 但我的元素(contentpresenter)的母公司是空的,所以拖动不起作用。
所以显而易见的问题是 - 我做错了什么?
欢呼声中,它就像一个魅力。 – Pygmy 2010-10-19 22:01:12