相对面板包围的UWP中的图像下降

问题描述

我的问题是我的UWP应用程序不允许我放入某些东西(我到处都设置AllowDrop =“ True”)。我的DragOver事件永远不会触发,如果我尝试放下某物,那会出现一个红色的小圆圈,告诉我我不能。老实说,我绝对不知道为什么。 这是我的UWP代码的构造(我删除代码的每一个不必要的位,以便基本上剩下结构):

<RelativePanel x:Name="ParentPanel" AllowDrop="True">

        <RelativePanel AllowDrop="True">

            <RelativePanel>

                <RelativePanel> 
                </RelativePanel>

                <RelativePanel>
                </RelativePanel>

                <RelativePanel>
                </RelativePanel>

                <RelativePanel>
                </RelativePanel>

                <RelativePanel>
                </RelativePanel>

            </RelativePanel>

            <RelativePanel>

                <RelativePanel>
                </RelativePanel>

                <RelativePanel>
                </RelativePanel>

            </RelativePanel>

            <RelativePanel AllowDrop="True">

                <ScrollViewer AllowDrop="True">

                        <RelativePanel AllowDrop="True">
                          
                            <RelativePanel AllowDrop="True">

                                <RelativePanel AllowDrop="True">
                                    <Image Height="150" Width="150" Margin="2" AllowDrop="True" DragOver="onDragOver"/>
                                </RelativePanel>

                                <RelativePanel AllowDrop="True">
                                    <Image Height="150" Width="150" Margin="2" AllowDrop="True" DragOver="onDragOver"/>
                                </RelativePanel>

                            </RelativePanel>

                        </RelativePanel>

                    </RelativePanel>

                </ScrollViewer>

            </RelativePanel>

        </RelativePanel>

 </RelativePanel>

这是onDragOver事件代码(由于似乎我的应用不允许Drops,因此从未触发):

private void onDragOver(object sender,DragEventArgs e)
        {
            e.AcceptedOperation = DataPackageOperation.copy;
        }

问题的核心:如何让我的应用程序允许放置操作?

提前谢谢

解决方法

由相关面板包围的UWP中的图像下降

问题是您尚未设置图像的源,并且图像控件将无法呈现。即使元素已拖动,onDragOver事件也不会触发。因此,请设置一个占位符图像源以渲染图像。

<Image
    Width="150"
    Height="150"
    Margin="2"
    Source="ms-appx:///Assets/StoreLogo.png"
    AllowDrop="True"
    DragOver="onDragOver" />