使用caliburn micro时,DataGrid拖放不会触发掉落事件

时间:2014-02-21 12:06:31

标签: c# wpf datagrid drag-and-drop caliburn.micro

我在xaml中定义了一个datagrid,如下所示:

  <DataGrid x:Name="ProcessInputImages" 
              ScrollViewer.HorizontalScrollBarVisibility="Hidden" RowHeaderWidth="0" AutoGenerateColumns="False" IsReadOnly="True"  SelectionMode="Single" SelectionUnit="Cell"
              IsHitTestVisible="True"  AllowDrop="True" cal:Message.Attach="[Event Drop] = [Action ObjectDropped($eventargs)" >

....
 </DataGrid>

在我的代码后面,我有:

   public void ObjectDropped(DragEventArgs e)
    {

    }

但是当我将一个目录从资源管理器中删除时,事件并没有触发。

为什么不开火?

1 个答案:

答案 0 :(得分:1)

问题是xaml错了:

正确的语法是:

 <DataGrid x:Name="ProcessInputImages" 
          ScrollViewer.HorizontalScrollBarVisibility="Hidden" RowHeaderWidth="0" AutoGenerateColumns="False" IsReadOnly="True"  SelectionMode="Single" SelectionUnit="Cell"
          IsHitTestVisible="True"  AllowDrop="True" cal:Message.Attach="[Event Drop] = [Action ObjectDropped($eventargs)]" >

....  

note]在cal的结尾:Message.Attach =“[Event Drop] = [Action ObjectDropped($ eventargs)],但是缺失了。