c#metro app:如何删除拖动到另一个图像上的图像

时间:2012-07-23 10:17:20

标签: c# image drag-and-drop windows-8

我有一个简单的地铁风格的应用程序,我想拖动16个图像并将它们放在另一个图像上。另一个图像应该将其源设置为拖动图像的源。

这是拖动方法:

    private void ManipulationDelta_Pic(object sender, ManipulationDeltaRoutedEventArgs e)
    {
        Image img = e.OriginalSource as Image;
        if (img != null)
        {
            var ct = img.RenderTransform as CompositeTransform;
            if (ct != null)
            {
                ct.TranslateX += e.Delta.Translation.X;
                ct.TranslateY += e.Delta.Translation.Y;
            }
        }
    }

这是带有图像的xaml,应该是drop darget(想象其中16个):

        </Grid>

    <Grid Margin="377,0,371,23" Background="Cornsilk" Grid.Row="1" Height="600" Width="600" AllowDrop="True">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="150" />
            <ColumnDefinition Width="150"/>
            <ColumnDefinition Width="150"/>
            <ColumnDefinition Width="150"/>
        </Grid.ColumnDefinitions>
        <Grid.RowDefinitions>
            <RowDefinition Height="150"/>
            <RowDefinition Height="150"/>
            <RowDefinition Height="150"/>
            <RowDefinition Height="150"/>
        </Grid.RowDefinitions>

        <Border x:Name="z1" BorderBrush="Black" BorderThickness="3" Grid.Row="0" Grid.Column="0" Background="Beige"  AllowDrop="true">
            <Image  x:Name="puzz1" HorizontalAlignment="Left" Height="150" VerticalAlignment="Top" Width="150" Source="Assets/win8001.jpg" AllowDrop="True"/>
        </Border>

    </Grid>

并且应该删除图像(也是其中的16个)。

<Image x:Name="sidePics1"  Width="150" Height="150" ManipulationMode="All" Margin="1311,507,-95,-29" Grid.Row="1" ManipulationDelta="ManipulationDelta_Pic" Drop="Drop_Pic">
            <Image.RenderTransform>
                <CompositeTransform />
            </Image.RenderTransform>
         </Image>

我不知道如何解决这个问题,我是Metro App编程的新手。我知道它应该是DragOver,DragEnter,DragLeave和Drop Event的东西,但我不知道该如何处理。

我需要帮助,谢谢。

1 个答案:

答案 0 :(得分:1)

我写了一篇关于做拖拉的文章。几年前在Silverlight上掉线了。这应该有所帮助。

http://www.jeffblankenburg.com/2009/07/05/day-5-silverlight-drag-and-drop/