none
UWP TreeView - Drag and Drop erzeugt neues TreeViewItem RRS feed

  • Frage

  • Hallöchen,

    dieses mal habe ich das Problem, dass, wenn ich in einem TreeView einen Eintrag verschieben möchte, ein neues Subnode erstellt wird, wenn die Maus über einen Eintrag den Eintrag fallen lässt.

    Also:

    + HauptItem
    ! - SubItem1
    ! - SubItem2
    ! - SubItem3

    Ziehe ich jetzt jetzt SubItem3 und lasse es (versehentlich!) über SubItem2 fallen, wird daraus

    + HauptItem
    ! - SubItem1
    ! - SubItem2
    ! - ! - SubItem3

    Ich versuche die ganze Zeit zu verhindern, dass dieses passiert. Innerhalb des HauptItems darf ja die Ordnung verändert werden (CanReorderItem ist True). Es darf aber kein neues SubItem erzeugt werden. Und das passiert, obwohl ich nichts im Code-Behind habe. Ich habe es auch probiert mit AllowDrop = False, aber man kann trotzdem ein neues SubItem erzeugen.

    Einer eine Idee wie ich das verhindern kann?

    Gruß
    Andy

    Samstag, 13. Februar 2021 11:43

Antworten

  • Hallo Andy,

    Dein Anliegen stimmt mit der in diesem Thread beschriebenen Ausgangslage überein:
    In TreeView, how to prevent certain Node NOT available for a parent dropdown target?

    Dort findest Du einen Ansatzpunkt im Beispielcode, der mithilfe der DragItemsStarting- und DragItemsCompleted-Ereignisse überprüft, ob ein Knoten einen übergeordneten Knoten hat und nur wenn dies nicht der Fall ist, wird das Element abgelegt (drop). Du kannst auf die dortige Bedingung if(parent.Content is StorageFile) verzichten, sofern das Ablegen abgebrochen wird (und der Knoten an seine ursprüngliche Stelle zurückgebracht wird), wenn irgendein übergeordeneter Knoten gefunden wird (oder der übergeordenete Knoten des übergeordneten Knotens usw., wenn dies gewünscht ist).

    Gruß,
    Dimitar


    Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.

    Montag, 15. Februar 2021 09:45
    Administrator