“项目”控件中的所有项目都在一起拖动

时间:2016-08-04 16:34:37

标签: c# wpf drag-and-drop itemscontrol

我一直在使用项目控件构建可拖动的节点树,最后的障碍是节点的子节点,项目控件中的子节点由于某种原因无法单独拖动。根节点可以在那里拖动,因此拖动画布正在工作。

这是ui的图片,显示了根节点和连接在一起的子节点:

enter image description here

这是可视树,它显示子节点附加到可拖动画布:

enter image description here

代码本身是

<pnl:DragCanvas>
    <ContentControl cal:View.Model="{Binding Root}"/>
    <ContentControl cal:View.Model="{Binding Root}"/>
</pnl:DragCanvas>
<pnl:DragCanvas x:Name="CurrCanvas">
    <ItemsControl ItemsSource="{Binding Children}">
        <ItemsControl.ItemsPanel>
            <ItemsPanelTemplate>
                <pnl:DragCanvas IsItemsHost="True"/>
            </ItemsPanelTemplate>
        </ItemsControl.ItemsPanel>
        <ItemsControl.ItemContainerStyle>
            <Style TargetType="ContentPresenter">
                <Setter Property="Canvas.Left" Value="{Binding Path=XPos}"/>
                <Setter Property="Canvas.Top" Value="{Binding Path=YPos}"/>
            </Style>
        </ItemsControl.ItemContainerStyle>
        <ItemsControl.ItemTemplate>
            <DataTemplate>
                <ContentControl cal:View.Model="{Binding}"/>
            </DataTemplate>
        </ItemsControl.ItemTemplate>
    </ItemsControl>
</pnl:DragCanvas>

我不知道如何修复它,这真的很烦人!

0 个答案:

没有答案