代码之家  ›  专栏  ›  技术社区  ›  Barrie Reader

拖动网格内的矩形

  •  1
  • Barrie Reader  · 技术社区  · 14 年前

    我设法解决了我的“网格内可拖动”问题,但我发现了另一个问题。

    当我开始拖动矩形时,它会消失并重新出现在鼠标上。

    public Page()
      {
       InitializeComponent();
    
       dragGrid.AddHandler(RadDragAndDropManager.DragQueryEvent, new EventHandler<DragDropQueryEventArgs>(OnDragQuery));
       dragGrid.AddHandler(RadDragAndDropManager.DropQueryEvent, new EventHandler<DragDropQueryEventArgs>(OnDropQuery));
       dragGrid.AddHandler(RadDragAndDropManager.DropInfoEvent, new EventHandler<DragDropEventArgs>(OnDropInfo));
       dragGrid.AddHandler(RadDragAndDropManager.DragInfoEvent, new EventHandler<DragDropEventArgs>(OnDragInfo));
    
       Loaded += new RoutedEventHandler(Page_Loaded);
      }
    
      void Page_Loaded(object sender, RoutedEventArgs e)
      {
       //Initialise the draggable elements
       RadDragAndDropManager.SetAllowDrag(onePX, true);
       RadDragAndDropManager.SetAllowDrag(twoPX, true);
       RadDragAndDropManager.SetAllowDrag(fourPX, true);
      }
    
      private void OnDragQuery(object sender, DragDropQueryEventArgs e)
      {
       if (e.Options.Status == DragStatus.DragQuery)
       {
        e.QueryResult = true;
    
        //The DragAndDropmanager will detach the element and drag it around the screen. 
        var source = e.Options.Source as Rectangle;
        source.Visibility = Visibility.Collapsed;
    
        e.Options.Payload = source;
    
        e.Handled = true;
       }
    
       if (e.Options.Status == DragStatus.DropSourceQuery)
       {
        e.QueryResult = true;
       }
      }
    
      private void OnDropQuery(object sender, DragDropQueryEventArgs e)
      {
       if (e.Options.Status == DragStatus.DropDestinationQuery)
       {
        e.QueryResult = true;
       }
      }
    
      private void OnDragInfo(object sender, DragDropEventArgs e)
      {
       if (e.Options.Status == DragStatus.DragCancel)
       {
        e.Options.Source.Visibility = Visibility.Visible;
       }
      }
    
      private void OnDropInfo(object sender, DragDropEventArgs e)
      {
       if (e.Options.Status == DragStatus.DropComplete)
       {
        Grid.SetColumn(e.Options.Source, Grid.GetColumn(e.Options.Destination));
        Grid.SetRow(e.Options.Source, Grid.GetRow(e.Options.Destination));
    
        e.Options.Source.Visibility = Visibility.Visible;
    
        e.Handled = true;
       }
      }
    

    XAML编号:

    <UserControl
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:dragDrop="clr-namespace:Telerik.Windows.Controls.DragDrop;assembly=Telerik.Windows.Controls"
            xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" x:Class="TestBench.Page"
            MinHeight="500" MinWidth="300">
        <Grid x:Name="LayoutRoot" Background="White">
         <Grid x:Name="dragGrid" Margin="0,0,0,58" ShowGridLines="False">
          <Grid.RowDefinitions>
           <RowDefinition Height="32" />
           <RowDefinition Height="32" />
           <RowDefinition Height="32" />
           <RowDefinition Height="32" />
           <RowDefinition Height="32" />
           <RowDefinition Height="32" />
           <RowDefinition Height="32" />
           <RowDefinition Height="32" />
           <RowDefinition Height="32" />
           <RowDefinition Height="32" />
           <RowDefinition Height="32" />
           <RowDefinition Height="32" />
           <RowDefinition Height="32" />
           <RowDefinition Height="32" />
          </Grid.RowDefinitions>
          <Grid.ColumnDefinitions>
           <ColumnDefinition Width="32" />
           <ColumnDefinition Width="32" />
           <ColumnDefinition Width="32" />
           <ColumnDefinition Width="32" />
           <ColumnDefinition Width="32" />
           <ColumnDefinition Width="32" />
           <ColumnDefinition Width="32" />
           <ColumnDefinition Width="32" />
           <ColumnDefinition Width="32" />
           <ColumnDefinition Width="32" />
           <ColumnDefinition Width="32" />
           <ColumnDefinition Width="32" />
           <ColumnDefinition Width="32" />
          </Grid.ColumnDefinitions>
    
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="0" Grid.Row="0" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="1" Grid.Row="0" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="2" Grid.Row="0" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="3" Grid.Row="0" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="4" Grid.Row="0" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="5" Grid.Row="0" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="6" Grid.Row="0" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="7" Grid.Row="0" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="8" Grid.Row="0" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="9" Grid.Row="0" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="10" Grid.Row="0" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="11" Grid.Row="0" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="12" Grid.Row="0" />
    
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="0" Grid.Row="1" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="1" Grid.Row="1" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="2" Grid.Row="1" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="3" Grid.Row="1" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="4" Grid.Row="1" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="5" Grid.Row="1" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="6" Grid.Row="1" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="7" Grid.Row="1" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="8" Grid.Row="1" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="9" Grid.Row="1" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="10" Grid.Row="1" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="11" Grid.Row="1" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="12" Grid.Row="1" />
    
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="0" Grid.Row="2" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="1" Grid.Row="2" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="2" Grid.Row="2" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="3" Grid.Row="2" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="4" Grid.Row="2" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="5" Grid.Row="2" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="6" Grid.Row="2" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="7" Grid.Row="2" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="8" Grid.Row="2" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="9" Grid.Row="2" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="10" Grid.Row="2" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="11" Grid.Row="2" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="12" Grid.Row="2" />
    
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="0" Grid.Row="3" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="1" Grid.Row="3" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="2" Grid.Row="3" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="3" Grid.Row="3" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="4" Grid.Row="3" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="5" Grid.Row="3" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="6" Grid.Row="3" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="7" Grid.Row="3" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="8" Grid.Row="3" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="9" Grid.Row="3" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="10" Grid.Row="3" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="11" Grid.Row="3" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="12" Grid.Row="3" />
    
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="0" Grid.Row="4" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="1" Grid.Row="4" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="2" Grid.Row="4" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="3" Grid.Row="4" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="4" Grid.Row="4" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="5" Grid.Row="4" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="6" Grid.Row="4" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="7" Grid.Row="4" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="8" Grid.Row="4" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="9" Grid.Row="4" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="10" Grid.Row="4" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="11" Grid.Row="4" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="12" Grid.Row="4" />
    
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="0" Grid.Row="5" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="1" Grid.Row="5" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="2" Grid.Row="5" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="3" Grid.Row="5" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="4" Grid.Row="5" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="5" Grid.Row="5" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="6" Grid.Row="5" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="7" Grid.Row="5" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="8" Grid.Row="5" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="9" Grid.Row="5" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="10" Grid.Row="5" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="11" Grid.Row="5" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="12" Grid.Row="5" />
    
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="0" Grid.Row="6" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="1" Grid.Row="6" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="2" Grid.Row="6" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="3" Grid.Row="6" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="4" Grid.Row="6" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="5" Grid.Row="6" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="6" Grid.Row="6" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="7" Grid.Row="6" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="8" Grid.Row="6" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="9" Grid.Row="6" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="10" Grid.Row="6" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="11" Grid.Row="6" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="12" Grid.Row="6" />
    
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="0" Grid.Row="7" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="1" Grid.Row="7" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="2" Grid.Row="7" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="3" Grid.Row="7" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="4" Grid.Row="7" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="5" Grid.Row="7" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="6" Grid.Row="7" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="7" Grid.Row="7" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="8" Grid.Row="7" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="9" Grid.Row="7" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="10" Grid.Row="7" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="11" Grid.Row="7" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="12" Grid.Row="7" />
    
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="0" Grid.Row="8" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="1" Grid.Row="8" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="2" Grid.Row="8" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="3" Grid.Row="8" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="4" Grid.Row="8" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="5" Grid.Row="8" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="6" Grid.Row="8" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="7" Grid.Row="8" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="8" Grid.Row="8" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="9" Grid.Row="8" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="10" Grid.Row="8" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="11" Grid.Row="8" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="12" Grid.Row="8" />
    
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="0" Grid.Row="9" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="1" Grid.Row="9" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="2" Grid.Row="9" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="3" Grid.Row="9" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="4" Grid.Row="9" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="5" Grid.Row="9" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="6" Grid.Row="9" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="7" Grid.Row="9" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="8" Grid.Row="9" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="9" Grid.Row="9" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="10" Grid.Row="9" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="11" Grid.Row="9" />
          <Rectangle dragDrop:RadDragAndDropManager.AllowDrop="True" Fill="LightBlue"
           Grid.Column="12" Grid.Row="9" />
    
          <Rectangle Width="32" Height="32" Fill="Black" x:Name="onePX"
           Grid.Column="0" Grid.Row="0" />
    
          <Rectangle Width="32" Height="64" Fill="Black" x:Name="twoPX"
           Grid.Column="0" Grid.Row="2" Grid.RowSpan="2" />
    
          <Rectangle Width="64" Height="64" Fill="Black" x:Name="fourPX"
           Grid.Column="0" Grid.Row="5"
           Grid.ColumnSpan="2"
           Grid.RowSpan="2" />
          <TextBlock x:Name="textOutput" HorizontalAlignment="Left" Margin="8,8,0,8" Grid.Row="10" Grid.RowSpan="2" TextWrapping="Wrap" Text="TextBlock" d:LayoutOverrides="Height" Grid.ColumnSpan="6" Width="184"/>
         </Grid>
        </Grid>
    </UserControl>
    

    知道 我的代码将矩形从网格中分离出来(这就是为什么它被分离的原因),有什么想法我可以阻止这种情况(或者一个优雅的解决方案会很好)^_^

    1 回复  |  直到 14 年前
        1
  •  2
  •   iCollect.it Ltd    14 年前

    拖动不会设置拖动提示。最简单的修复方法是在OnDragQuery中间添加此代码。然后,在光标上拖拽会得到一个很好的匹配矩形:

            source.Visibility = Visibility.Collapsed;
            /* add these 5 lines - copies properties into a drag cue  */
            var cue = new Rectangle();
            cue.Height = source.Height;
            cue.Width = source.Width;
            cue.Fill = source.Fill;
            e.Options.DragCue = cue;
    
            e.Options.Payload = source;
    

    我打开了网格,这样你就可以在这个屏幕截图中清楚地看到2x2矩形被拖动时的效果:

    alt text