2009-10-21 6 views
5

Mam następujące XAML:WPF: Nie można upuścić przeciągany danych na ItemsControl

<DockPanel x:Name="OverViewContainer" AllowDrop="True"> 
    <StackPanel Orientation="Horizontal" 
       DockPanel.Dock="Bottom" 
       HorizontalAlignment="Right"> 
     <uicommon:Toolbar DataContext="{Binding Commands}" /> 
    </StackPanel> 
    <ItemsControl ItemsSource="{Binding DocumentElements}" 
        ItemTemplate="{DynamicResource DocumentElementsItemTemplate}" /> 
</DockPanel> 

Kiedy przeciągnąć dane na tym panelu, kursor myszy pokazuje spadek jest dozwolone na wszystkich elementów podrzędnych, ale na dowolnym pustym polu kursor pokazuje, że upuszczenie jest wyłączone. Jeśli ustawię wartość AllowDrop na false, nie będę już mógł upuszczać elementów potomnych, więc flaga WYDAJE. Chciałbym upuścić dane na margines między elementami w ItemsControl.

Wszelkie pomysły?

Odpowiedz

10

Problem polega na tym, że Twój DockPanel nie wykonuje testów trafień - ponieważ nie ma tła.

Rozwiązanie? Dodaj atrybut Background = "Transparent" do znacznika <DockPanel>.

+0

sprawdzone i działa, dziękuję :) –

+0

Doskonały, działa również, jeśli masz tylko ItemsControl (nie wewnątrz DockPanel). Ponadto, jest to zachowanie HORRIBLE :-( – CJBrew

Powiązane problemy