c# uwp 拖放 - 无法进行交换

c# uwp drag and drop - cant make a swap

所以我有 10x10 的图片网格,我想通过拖放来交换,但我实际上无法得到 images 目标和选择为了使 spaw 我全部来自视图模型代码 在晚上,发件人是一个网格,e 是 DragEventArgs

      public MainViewModel()
    {
        GameGrid = new Grid { AllowDrop = true };
        GameGrid.DragOver += GameGrid_DragOver;
        GameGrid.Drop += GameGrid_Drop;

        for (int row = 0; row < 10; row++)
        {
            GameGrid.RowDefinitions.Add(new RowDefinition());
            for (int col = 0; col < 10; col++)
            {
                if (row == 0)
                    GameGrid.ColumnDefinitions.Add(new ColumnDefinition());

                var image = new Image { Source = logic.GetImage(), CanDrag = true, AllowDrop = true };
                Grid.SetRow(image, row);
                Grid.SetColumn(image, col);
                GameGrid.Children.Add(image);
            }
        }

    }

    private void GameGrid_DragOver(object sender, Windows.UI.Xaml.DragEventArgs e)
    {

        e.AcceptedOperation = DataPackageOperation.Move;
    }
    private async void GameGrid_Drop(object sender, Windows.UI.Xaml.DragEventArgs e)
    {
        if (logic.IsValidSwap(selected, selected))
        {
        }
    }

// 但我无法获取图像以发送 func 是 validswap

而不是在事件中分配给网格:

GameGrid.DragOver += GameGrid_DragOver; 
GameGrid.Drop += GameGrid_Drop;

它应该分配给 for 循环内的每个图像:

image.Drop += GameGrid_Drop; 
image.DragOver += GameGrid_DragOver;

而且发送者将是图像——您可以知道列和行并进行切换。