2016-07-06 4 views
0

Я пытаюсь использовать Windows Forms DataGridView, так как он кажется, что WPF DataGrid не позволяет получать выделение и не имеет таких функций, как получение текущего столбца и индекса строки.Перетаскивание с помощью WPF + Windows Forms

<WindowsFormsHost Name="wfhFileEditorWindow" DockPanel.Dock="Top" AllowDrop="True" > 
    <WindowsFormsHost.Child> 
     <wf:DataGridView x:Name="dgFileEditorWindow" AllowDrop="True"> 
     </wf:DataGridView> 
    </WindowsFormsHost.Child> 
</WindowsFormsHost> 

У меня есть проблема с этим обходным путем является то, что элемент не появляется, чтобы принять перетаскивание, курсор превращается в знак остановки.

Любое предложение, что мне нужно сделать, чтобы разрешить падение на DataGridView?

ответ

0

я в конечном итоге делает это, не уверен, что это «правильный путь», чтобы справиться с ситуацией:

Private Sub dgFileEditorWindow_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles dgFileEditorWindow.DragEnter 
    If (e.Data.GetDataPresent(DataFormats.Text)) Then 
     e.Effect = DragDropEffects.Copy 
    Else 
     e.Effect = DragDropEffects.None 
    End If 
End Sub 

Private Sub dgFileEditorWindow_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles dgFileEditorWindow.DragDrop 
    Dim filename As String = e.Data.GetData(DataFormats.Text).ToString() 
    If loadCSVfileToDataGridView(filename, dgFileEditorWindow) Then 
     editedFile_Filename = filename 
    End If 
End Sub 
Смежные вопросы