问题描述
我的问题是我的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" />