Einige Ordner auswählen & WPF Namespace

  • Modern UI

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von Eistee.

    Einige Ordner auswählen & WPF Namespace

    Hallo,

    bin nun endlich dabei mich durch WPF-XAML zu mogeln und stelle mir gerade die Frage
    wie man mit WPF schön aufbereitet einige Ordner wählen kann.

    Dachte dabei an eine Art TreeView (weil mir nichts besseres einfällt), würdet ihr
    das auch so machen oder gibt es da schönere/ansprechendere Möglichkeiten?

    In dem Control oder whatever sollen die Ordner von z.B. der Festplatte C angezeigt
    werden, wobei man dann per Checkbox ?( einzelne Ordner wählen kann.

    Gibt es da was fertiges anpassbares? (Obwohl selber etwas schreiben bestimmt lehrreich wär).
    Naja nur dafür bräucht ich halt ein paar Ansätze Links Ideen oder so etwas ^^




    Wo ich gerade dabei bin, warum sind die WPF Namespaces? eigentlich URLs?

    XML-Quellcode

    1. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    2. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

    Konnte bis jetzt keine für mich verständliche Erklärung dazu finden :S
    (Habe die Seite MSDN Ausführliche Erläuterung der XAML-Syntax schon gelesen, aber das erklärt sich irgendwie nicht wirklich, oder ich verstehs nicht :rolleyes: )

    Gruß Eistee

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „Eistee“ ()

    Wie immer MVVM verwenden, aber ich denke das muss ich eh nicht mehr sagen. Dann eine BasisKlasse für alle Models in der Treeview erstellen. Davon ableiten für z.B. Laufwerk, Verzeichnis und Datei. Nun den Models die notwendigen Eigenschaften verpassen z.B. eine Eigenschaft welche Unterordner und Unterdateien in einer Liste bereitstellt. Nun gehst du in XAML und erstellst Templates für die verschiedenen Models. Diese kannst du entweder durch einen TemplateSelector auswählen lassen(musst du natürlich selbst implementieren) oder du weißt ihnen gleich einen Typ und sie werden dann automatisch angewendet.

    Als Beispiel gabs mal irgendwo nen Tutorial von EDR für nen FolderBrowserDialog.

    Was die namespaces angeht: Ich weiß nur, dass dies auch in normalem XML oft so gemacht wird. Weshalb? Keine Ahnung. Du kannst aber auch solche Namespaces verteilen. Dazu gibt es ein zugehöriges Attribut. Den Namen weiß ich aber leider nicht mehr auswendig.


    Opensource Audio-Bibliothek auf github: KLICK, im Showroom oder auf NuGet.
    @thefiloe: Kennst du einen Artikel oder Erklärung wo das MVVM Idiotensicher veranschaulicht wird?
    Hab es hiermit versucht aber nunja :D ...
    Das EDR Tutorial werd ich gleich mal suchen, danke dir.

    Edit: "Templates für die verschiedenen Models" Was ist damit eig. gemeint?
    Tamplates im Sinne eines "Controls" um die Daten anzuzeigen?
    Template ist nicht zwangsläufig ein Control. Ein Template beinhaltet Controls wobei man bei WPF wieder vorsichtig sein muss was denn nun ein Control ist, da es auch z.B. Visuals gibt etc.
    Das Template legt einfach fest wie Daten dargestellt werden. Du kannst z.B. sagen, dass Dateien einen Öffnen Button in der TreeView darstellen sollen und Verzeichnisse nicht.


    Opensource Audio-Bibliothek auf github: KLICK, im Showroom oder auf NuGet.

    Eistee schrieb:

    In dem Control oder whatever sollen die Ordner von z.B. der Festplatte C angezeigt
    werden, wobei man dann per Checkbox ?( einzelne Ordner wählen kann.
    Oh, das kann man sich zur Lebensaufgabe machen! ;)

    ich zB. finde Treeviews fürs Dateisystem ungeeignet, denn das Dateisystem ist zu fett.
    klapp ein paar Ordner auf, und du hast in hunderten von Treenodes drin rumzuscrollen, und mit zunehmender Schachteltiefe wird der Treeview ja auch immer breiter und so Sachen.

    Sehr listig gelöst finde ich die Breadcrumb-Navigation meines Vista-WinExplorers:

    Die BreadCrumb sagt den OrdnerPfad an, man kann damit in der Hierarchie hoch-navigieren, und auch gleich direkt in SeitenZweige hopfen.

    Für einen Mulit-Ordner-Selector bräuchte man aber eine zusätzliche Listbox, die die eingesammelten Pfade aufführt, und wo man die auch wieder rauslöschen kann, tätich sagen.



    @Julius:: die Binding-Verbindung in deim Bildle sollte als bidirektional dargestellt sein (Doppelpfeil).
    Warum die Commands einen Extra-Pfeil bekommen, ist mir unklar, denn Commands werden gebunden wie alles annere auch.

    Wie das Viewmodel mittm Model kommuniziert, ist komplett unklar, aber das ist auch mir unklar, weil meist habich garkein Model.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „ErfinderDesRades“ ()

    ErfinderDesRades schrieb:

    Oh, das kann man sich zur Lebensaufgabe machen! ;)

    Ich hab es mir schon fast gedacht, ich zieh immer die A-karte :D

    ErfinderDesRades schrieb:


    ich zB. finde Treeviews fürs Dateisystem ungeeignet, denn das Dateisystem ist zu fett.
    klapp ein paar Ordner auf, [...] immer breiter und so Sachen.

    Da hast Du wohl recht, hatte ich mir noch keine Gedanken gemacht, also um die Tiefe und die damit bedingte Breite.

    ErfinderDesRades schrieb:


    Sehr listig gelöst finde ich die Breadcrumb-Navigation meines Vista-WinExplorers:
    vb-paradise.de/index.php/Attac…0c1d6ad842303d7d26ec47963
    Die BreadCrumb sagt den OrdnerPfad an, man kann damit in der Hierarchie hoch-navigieren, und auch gleich direkt in SeitenZweige hopfen.

    Ja nur scheint es mir damit schwer die Übersicht zu behalten, also WAS habe ich schon ausgewählt und was fehlt noch.

    ErfinderDesRades schrieb:

    Für einen Mulit-Ordner-Selector bräuchte man aber eine zusätzliche Listbox, die die eingesammelten Pfade aufführt, und wo man die auch wieder rauslöschen kann, tätich sagen.

    Würde ich auch sagen, nur das es mehr ins Grafische (Klicki Bunti, könnte man schon fast sagen, ok etwas übertrieben, aber eben mehr als reine Schwarz-Weiß Liste) gehen sollte.
    Nur wie man das mit Übersichtlichkeit / Bedienfreundlichkeit unter einen Hut bringen soll :pinch:
    Wie ich heute übler weise feststellen musste, hat Microsoft das Treeview Control nicht für Metro-Apps zugelassen.
    Angeblich zu fummel-lastig über die Touch Steuerung :pinch:
    Was so viel bedeutet wie, dass man sich da komplett selber etwas zusammenschrauben muss :thumbdown:
    @ErfinderDesRades: Werde es mal mit deiner Breadcrumb-Navigation bzw. dem Windows 8 Dateiexplorer versuchen
    (Auf Windows 8 kann man auch einfach innerhalb des Pfades springen).
    Guck dir doch einfach an, wie die Dateimanager für Windows 8 dieses Problem umgesetzt haben. Vielleicht gibt dir das genug kreativen Input.