2011-10-14 17 views
6

Tengo el siguiente XAML para la ventana principal:¿Por qué no baja WPF Canvas ahora?

<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> 

Pero cuando trato de arrastrar un archivo a la ventana, la caída no está permitido. Cuando Canvas se cambia a ListBox, todo funciona perfectamente.

¿Cómo puede el código puede cambiar para permitir caída a la lona?

Respuesta

22

Por defecto, Canvas no tiene antecedentes por lo golpeó pruebas no recoge que el cursor se encuentra sobre el elemento Canvas, sino que está burbujeando a la Grid o Window que no permiten gota. Establecer el fondo a Transparent de la siguiente manera y debería funcionar:

<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> 
0

Esto funciona como un encanto! En el código que se quiere hacer algo como:

Canvas myCanvas = new Canvas(); 

myCanvas.AllowDrop = true; 
myCanvas.Background = System.Windows.Media.Brushes.Transparent; 
Cuestiones relacionadas