我在主窗口中有以下XAML:
<Window x:Class="ImageViewer.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="398" Width="434">
<Grid>
<Canvas AllowDrop="True" />
</Grid>
</Window>
但是当我尝试将文件拖到窗口时,不允许删除。当Canvas更改为ListBox时,一切都运行良好。
如何更改代码以允许删除画布?
答案 0 :(得分:24)
默认情况下,Canvas
没有背景,所以点击测试没有发现光标位于Canvas
元素上方,而是冒泡到Grid
或{{ 1}}不允许丢弃。将背景设置为Window
,如下所示,它应该有效:
Transparent
答案 1 :(得分:0)
这就像一个魅力!在代码中,您可能希望执行以下操作:
Canvas myCanvas = new Canvas();
myCanvas.AllowDrop = true;
myCanvas.Background = System.Windows.Media.Brushes.Transparent;