Hallo,
Ich sitze hier gerade und weiss nicht mehr so recht weiter.
Ich habe eine Diagram Komponente IODiagram und einen Node der sich im Diagram befindet - IONode. In dem IODiagram habe ich mir einen Drag and Drop Mechanismus eingebaut der wunderbar funktioniert.
[highlight=c#]
protected void dvInputOutput_MouseMove(object sender, MouseEventArgs e)
{
...
//Drag and Drop starten
DragDropEffects dropEffect = dvInputOutput.DoDragDrop(_nodeFromMouseDown, DragDropEffects.Move);
...
}
protected void dvInputOutput_DragOver(object sender, DragEventArgs e)
{
e.Effect = DragDropEffects.None;
IONode airNode = e.Data.GetData(typeof(IONode))as IONode;
//Checken ob Node gedroppt werden kann
if (airNode != null)
{
...
}
protected void dvInputOutput_DragDrop(object sender, DragEventArgs e)
{
IONode airNode = e.Data.GetData(typeof(IONode)) as IONode;
//Node droppen
if (airNode != null)
{
...
}
[/highlight]
Danach habe ich eine konkrete Klasse für mein Programm von IODiagram abgeleitet - IODiagramPresenter. Selbiges von IONode - IONodePresenter.
Ich habe an dem DragAndDrop Mechanismus nichts verändert, allerdings funktionert schon das DragOver Event nicht mehr richtig. Es wird ausgelöst, allerdings wird hier
[highlight=c#]
protected void dvInputOutput_DragOver(object sender, DragEventArgs e)
{
e.Effect = DragDropEffects.None;
IONode airNode = e.Data.GetData(typeof(IONode))as IONode;
...
}
[/highlight]
kein Node zurückgegeben. Ich kann mir auch vorstellen dass es daran liegt, dass der Typ der in dem DataObject referenziert wird kein IONode, sondern IONodePresenter ist.
Jemand schon Erfahrungen auf dem Gebiet oder einen kleinen Tip?
Wäre sehr dankbar!
MfG
Florian
Ich sitze hier gerade und weiss nicht mehr so recht weiter.
Ich habe eine Diagram Komponente IODiagram und einen Node der sich im Diagram befindet - IONode. In dem IODiagram habe ich mir einen Drag and Drop Mechanismus eingebaut der wunderbar funktioniert.
[highlight=c#]
protected void dvInputOutput_MouseMove(object sender, MouseEventArgs e)
{
...
//Drag and Drop starten
DragDropEffects dropEffect = dvInputOutput.DoDragDrop(_nodeFromMouseDown, DragDropEffects.Move);
...
}
protected void dvInputOutput_DragOver(object sender, DragEventArgs e)
{
e.Effect = DragDropEffects.None;
IONode airNode = e.Data.GetData(typeof(IONode))as IONode;
//Checken ob Node gedroppt werden kann
if (airNode != null)
{
...
}
protected void dvInputOutput_DragDrop(object sender, DragEventArgs e)
{
IONode airNode = e.Data.GetData(typeof(IONode)) as IONode;
//Node droppen
if (airNode != null)
{
...
}
[/highlight]
Danach habe ich eine konkrete Klasse für mein Programm von IODiagram abgeleitet - IODiagramPresenter. Selbiges von IONode - IONodePresenter.
Ich habe an dem DragAndDrop Mechanismus nichts verändert, allerdings funktionert schon das DragOver Event nicht mehr richtig. Es wird ausgelöst, allerdings wird hier
[highlight=c#]
protected void dvInputOutput_DragOver(object sender, DragEventArgs e)
{
e.Effect = DragDropEffects.None;
IONode airNode = e.Data.GetData(typeof(IONode))as IONode;
...
}
[/highlight]
kein Node zurückgegeben. Ich kann mir auch vorstellen dass es daran liegt, dass der Typ der in dem DataObject referenziert wird kein IONode, sondern IONodePresenter ist.
Jemand schon Erfahrungen auf dem Gebiet oder einen kleinen Tip?
Wäre sehr dankbar!
MfG
Florian
Comment