在Windows 10上编写针对UWP和.NET Core的第一个程序,并希望添加拖放功能以包含从文件夹拖动的图像。由于我想让用户在目标面板上按需要排列丢弃的图像(缩略图),我选择了Canvas面板,但无法进行拖放操作。在面板上拖动图像文件只会显示红色圆圈图标(没有掉落)。将面板类型更改为网格,一切正常。关于如何让Canvas面板合作的任何线索?
XAML
Select * from tab_salaries WHERE salary > 200
背后的代码
<GridView Grid.Row="1" x:Name="MainPanel" AllowDrop="True" DragEnter="MainPanel_DragEnter" Drop="MainPanel_Drop" >
</GridView>
当尝试使用Canvas面板时,xaml使用关键字Canvas代替GridView,而Grid.row =“1”则被省略。
答案 0 :(得分:1)
似乎有些Panel控件没有设置Background
或Fill
属性会导致某些事件无效。
确定UI中是否以及在何处对鼠标,触摸和手写笔输入可见元素称为命中测试。对于触摸操作以及作为触摸操作后果的特定于交互或操纵事件,必须对元素进行命中测试才能成为事件源并触发与操作关联的事件。否则,操作会将元素传递给可视树中可与该输入交互的任何基础元素或父元素。
有关详细信息,请参阅Hit testing and input events。
因此,我们应该能够设置Background
的{{1}}属性,以便Canvas
和DragEnter
事件可以被触发。
例如:
Drop