2015-08-26 58 views
0

我使用Silverlight工具包的PanelDragDropTarget和Telerik的RadWrapPanel爲如下面的代碼所示的面板容器:Silverlight工具包的PanelDragDropTarget不允許拖n的右下降至左

   <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中的控件,我可以拖拽n控件從左到右。但它不允許我將控件從右向左移動。

任何想法如何在兩個方向上實現拖放,例如:從左到右和從右到左?

回答

0

我最終能夠從左到右以及從右到左實現拖拽控件。關鍵點在於:不要使用telerik的RadWrapPanel,而應該使用Silverlight工具包的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>