WPF& XAML将所有子节点从1个网格单元格拖放到另一个网格单元格

时间:2017-05-22 22:22:33

标签: wpf xaml drag

我有一个网格,每个单元格在运行时从XAML(单独的)文件加载,其中每个单元格包含一般形式的子元素:

<Border Name="R1C1Border">
  <Grid Name="R1C1Grid>
    <TextBlock Name="R1C1TextBlock1">blah blah blah</TextBlock> 
    <TextBlock Name="R1C1TextBlock2">blah blah blah</TextBlock>
    <Polygon.../>
    <Ellipse... ></Ellipse>
    <Path... etc.../>
    <Button></Button>
  </Grid>
</Border> 

我想实现拖放行为,将边框及其所有子项拖到另一个单元格,以允许用户在运行时自定义网格。我可以使用FindName,GetChildren(),Child =,TypeOf等复制代码中的内容。但是如果可能的话,我真的想用拖放来解决它。我已经跟着MSDN基本拖放了Ellipse和ListBox,但我认为当我尝试在这种情况下应用它时,它会在工作中抛出一把扳手。我已经为XAML和WPF购买了几本书,并且Drag and Drop没有出现在索引中。

1 个答案:

答案 0 :(得分:0)

你可以做同样的事情,现在只在拖动开始时添加另一个步骤:

从你的控制中取出VisaulBrush(你拖动它的所有孩子)。

然后打开一个弹出窗口或一个窗口,使画笔成为它的背景。 移动鼠标时添加另一个步骤:

更新弹出/窗口位置。