Zum Inhalt springen

Kleiner Explorerableger mit TreeView


Gewinde

Empfohlene Beiträge

Hallo liebes Forum,

ich wollte für mein Projekt eine kleine Ordner- und Dateisuche implementieren. Derzeit befinde ich mich noch im Stadium der korrekten Visualisierung. Nach der Fertigstellung möchte ich über eine TreeView Ordner und Dateien angezeigt bekommen wie im normalen Windows Explorer. In meinem Fall reicht eine einfache Ordnersuche in einem vorgegebenen Pfad, mit anschließender Anzeige der Ordner und Dateien aus. Die Anzeigehierarchie soll den gesuchten Ordner (Root) mit Namen, dann die dort enthaltenen Unterordner (Child) mit Hierarchisch aufgelisteten Dateien (Files) und danach wiederum die im Ordner (Root) enthaltenen Dateien anzeigen.

Um die im Root enthaltenen Ordner sowie Dateien anzeigen zu können, befinden sich in meiner RootNodeKlasse zwei Collections. Eine Collection für die NodeFolderKlasse, welche eine weitere Collection für die Files enthält und eine zweite für die im Root enthaltenen Dateien.

Leider zeigt meine TreeView bisher nur den gesuchten Ordner (Root) mit den enthaltenen Unterordnern (Child) sowie deren Dateien korrekt an. Meine Internetrecherche ergab, dass ich die Anzeige der zusätzlichen Dateien im Root mit einem MultibindingConverter ermöglichen könnte. Diesen habe ich in meinem Programm implementiert und auch in meiner View eingebunden.

Ich bekomme lediglich die Verschachtelung der Templates in meinem TreeView nicht gelöst, damit nach der hierarchischen Anzeige der Subordner, die im Root enthaltenen Dateien angezeigt werden können. Mein Code ist auf GitHub unter "OrdnerDurchlaufen" hochgeladen.

Meine TreeView sieht bisher wie folgt aus:

        <TreeView x:Name="trv_twoTest" Grid.Row="1" Grid.Column="0" Margin="10" ItemsSource="{Binding ConstructionDatas}">
            <TreeView.ItemTemplate>
                <HierarchicalDataTemplate DataType="{x:Type md:RootNode}">
                    <HierarchicalDataTemplate.ItemsSource>
                        <MultiBinding Converter="{StaticResource NodeConverter}">
                            <Binding Path="ChildFolders"/>
                            <Binding Path="ConstFiles"/>
                        </MultiBinding>
                    </HierarchicalDataTemplate.ItemsSource>
                    <TextBlock Text="{Binding RootName}"/>

                    <HierarchicalDataTemplate.ItemTemplate>

                        <HierarchicalDataTemplate DataType="{x:Type md:FolderNode}" ItemsSource="{Binding ConstFiles}">
                            <HierarchicalDataTemplate.ItemTemplate>
                                <DataTemplate DataType="{x:Type md:ConstFile}">
                                    <StackPanel>
                                        <TextBlock Text="{Binding FileName}"/>
                                    </StackPanel>
                                </DataTemplate>
                            </HierarchicalDataTemplate.ItemTemplate>
                        </HierarchicalDataTemplate>
                        
                    </HierarchicalDataTemplate.ItemTemplate>
                    
                </HierarchicalDataTemplate>
            </TreeView.ItemTemplate>
        </TreeView>

Jeder Versuch die Anzeige der Dateien zu ermöglichen endete bisher in einer Flut aus Fehlern. Kann mir jemand von euch eventuell den Lösenden Tipp für mein Problem geben? Meine Erfahrungen mit MultiBindingConverter ist bisher schwindend gering.

Danke an euch

Link zu diesem Kommentar
Auf anderen Seiten teilen

Es soll dem Nutzer die Möglichkeit gegeben werden durch alle Ordner und Dateien zu browsen. Später soll die Möglichkeit bestehen mit Doppelklick eine Datei zu öffnen und per Rechtsklick ein Popup zu öffnen um diese bei Wunsch zu löschen. Drag and drop für einzelne und mehrere Dateien möchte ich auch gerne integrieren. Wie ein kleiner Explorer. Erstmal würde mich aber ein einfacher Viewer ausreichen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...