I have the following XAML for the main window:
<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>
But when I try to drag a file to the window, drop is not allowed. When Canvas is changed to ListBox, everything works perfectly.
How can the code be changed to allow drop to canvas?
By default, Canvas
has no background so hit-testing is not picking up that the cursor is over the Canvas
element, but is instead bubbling up to the Grid
or Window
which don't allow drop. Set the background to Transparent
as follows and it should work:
<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" Background="Transparent" />
</Grid>
</Window>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With