Silverlight工具包的PanelDragDropTarget不允许从右向左拖放n。



我使用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中添加控件,并且我能够从左到右拖放控件。但是它不允许我将控件从右移到左。

我该如何实现两个方向上的拖放?从左到右和从右到左?

我最终能够实现从左到右和从右到左的拖放控件。这里的关键点是:应该使用Silverlight Toolkit的WrapPanel而不是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="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>

最新更新