我需要拖放控件,例如 TextBox 和 Image。
我有一个解决方案可以做到这一点,
这里是使用交互和鼠标元素行为进行拖放的代码
<TextBox Height="30" Margin="70,50,250,133"
Name="textBlock1" Text="Pavan Pareta" MouseMove="MouseMoving">
<i:Interaction.Behaviors>
<el:MouseDragElementBehavior ConstrainToParentBounds="True"/>
</i:Interaction.Behaviors>
</TextBox>
<Image Height="110" Name="image1" Stretch="Fill" Source="/WmDev_DragAndDrop;component/Images/house.png" Margin="254,90,95,407" MouseMove="MouseMoving">
<i:Interaction.Behaviors>
<el:MouseDragElementBehavior ConstrainToParentBounds="True"/>
</i:Interaction.Behaviors>
</Image>
并且 MouseMoving 事件是
private void MouseMoving(object sender, MouseEventArgs e)
{
if (sender.GetType() == typeof(TextBox))
{
TextBox realSender = (TextBox)sender;
Canvas.SetZIndex(realSender, idx++);
}
else if (sender.GetType() == typeof(Image))
{
Image realSender = (Image)sender;
Canvas.SetZIndex(realSender, idx++);
}
}
但我需要在动态创建的控件上实现这一点。我找不到在务实创建的运行时控件上执行此操作的方法。任何人都可以帮我这样做。
谢谢你。