Silverlight 工具包 Panel Drag DropTarget 不允许从右向左拖放
Silverlight toolkit's PanelDragDropTarget doesn't allow to drag n drop from right to left
我正在使用 Silverlight Toolkit 的 PanelDragDropTarget 和 Telerik 的 RadWrapPanel 作为面板容器,如下面的代码所示:
<controlsToolkit:PanelDragDropTarget Grid.Row="1" AllowDrop="True" AllowedSourceEffects="Move" x:Name="panelDragDropTarget"
ItemDragStarting="PanelDragDropTarget_ItemDragStarting"
HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch"
ItemDragCompleted="panelDragDropTarget_ItemDragCompleted"
MinWidth="1250" MinHeight="480"
HorizontalAlignment="Left" VerticalAlignment="Top">
<telerik:RadWrapPanel x:Name="WidgetsPanel" HorizontalAlignment="Left" VerticalAlignment="Top" Background="White"
IsAnimated="True" AnimationDuration="100" AllowDrop="True" MinWidth="1250" MinHeight="480"></telerik:RadWrapPanel>
</controlsToolkit:PanelDragDropTarget>
我在运行时将控件添加到 RadWrapPanel 中,并且能够从左到右拖放控件。但它不允许我从右到左放下控件。
关于如何实现双向拖放的任何想法,例如;从左到右还是从右到左?
我最终能够实现从左到右以及从右到左的拖放控件。这里的关键点是:不应使用 telerik 的 RadWrapPanel,而应使用 Silverlight Toolkit 的 WrapPanel。下面的代码还支持控件移动时的动画。
<controlsToolkit:PanelDragDropTarget Grid.Row="1" AllowDrop="True" AllowedSourceEffects="Move" x:Name="panelDragDropTarget"
ItemDragStarting="PanelDragDropTarget_ItemDragStarting"
HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch"
ItemDragCompleted="panelDragDropTarget_ItemDragCompleted"
MinWidth="1255" MinHeight="480"
HorizontalAlignment="Left" VerticalAlignment="Top">
<controlsToolkit:WrapPanel x:Name="WidgetsPanel" HorizontalAlignment="Left" VerticalAlignment="Top"
Background="White" AllowDrop="True" MinWidth="1255" MinHeight="480">
<i:Interaction.Behaviors>
<ei:FluidMoveBehavior AppliesTo="Children" FloatAbove="False" Duration="0:0:0.4" />
</i:Interaction.Behaviors>
</controlsToolkit:WrapPanel>
</controlsToolkit:PanelDragDropTarget>
我正在使用 Silverlight Toolkit 的 PanelDragDropTarget 和 Telerik 的 RadWrapPanel 作为面板容器,如下面的代码所示:
<controlsToolkit:PanelDragDropTarget Grid.Row="1" AllowDrop="True" AllowedSourceEffects="Move" x:Name="panelDragDropTarget"
ItemDragStarting="PanelDragDropTarget_ItemDragStarting"
HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch"
ItemDragCompleted="panelDragDropTarget_ItemDragCompleted"
MinWidth="1250" MinHeight="480"
HorizontalAlignment="Left" VerticalAlignment="Top">
<telerik:RadWrapPanel x:Name="WidgetsPanel" HorizontalAlignment="Left" VerticalAlignment="Top" Background="White"
IsAnimated="True" AnimationDuration="100" AllowDrop="True" MinWidth="1250" MinHeight="480"></telerik:RadWrapPanel>
</controlsToolkit:PanelDragDropTarget>
我在运行时将控件添加到 RadWrapPanel 中,并且能够从左到右拖放控件。但它不允许我从右到左放下控件。
关于如何实现双向拖放的任何想法,例如;从左到右还是从右到左?
我最终能够实现从左到右以及从右到左的拖放控件。这里的关键点是:不应使用 telerik 的 RadWrapPanel,而应使用 Silverlight Toolkit 的 WrapPanel。下面的代码还支持控件移动时的动画。
<controlsToolkit:PanelDragDropTarget Grid.Row="1" AllowDrop="True" AllowedSourceEffects="Move" x:Name="panelDragDropTarget"
ItemDragStarting="PanelDragDropTarget_ItemDragStarting"
HorizontalContentAlignment="Stretch" VerticalContentAlignment="Stretch"
ItemDragCompleted="panelDragDropTarget_ItemDragCompleted"
MinWidth="1255" MinHeight="480"
HorizontalAlignment="Left" VerticalAlignment="Top">
<controlsToolkit:WrapPanel x:Name="WidgetsPanel" HorizontalAlignment="Left" VerticalAlignment="Top"
Background="White" AllowDrop="True" MinWidth="1255" MinHeight="480">
<i:Interaction.Behaviors>
<ei:FluidMoveBehavior AppliesTo="Children" FloatAbove="False" Duration="0:0:0.4" />
</i:Interaction.Behaviors>
</controlsToolkit:WrapPanel>
</controlsToolkit:PanelDragDropTarget>