List-Control à la Firefox' Download-Manager

  • VB.NET

Es gibt 91 Antworten in diesem Thema. Der letzte Beitrag () ist von Jonas Jelonek.

    List-Control à la Firefox' Download-Manager

    Guten Tag

    Da ich nun in meinem Programm TweakUtils den kleinen Downloader zu einem Download-Manager mit vielen Funktionen ausbauen möchte, wollte ich auch wieder eine ordentliche Darstellung erreichen. Jetzt ist mir das ListBox-Control im Firefox Download-Manager, in dem die Downloads aufgelistet werden, ins Auge gefallen. Jedoch möchte ich da kein fertiges nutzen, sondern ein eigenes machen.
    Jetzt möchte ich euch fragen:

    Wie gehe ich das an?
    Was muss ich beachten?

    Vielen Dank im Voraus

    MfG
    Jonas Jelonek
    Hmm... Das ist natürlich so ne Sache. Ich arbeite bisher nur mit WinForms. Meine Versuche mit WPF sind immer daneben gegangen.

    1. Lohnt es sich, auf WPF umzusteigen?
    2. Kann man den Aero Glass Effekt auch in WPF nutzen?
    3. Ist die Verwendung von WPF einfacher oder schwieriger als WinForms?
    1. Ja, definitiv. Mit WPF sind Sachen innerhalb weniger Minuten erledigt, für die du in WinForms Stunden brauchen würdest oder die dort gar nicht richtig funktionieren würden (wenn dus kannst).
    2. Ja, kann man, sogar besser als mit WinForms, da WPF Transparenz unterstützt (also du kannst alle beliebigen Steuerelemente im Glass-Bereich anzeigen, ohne irgendwas anders machen zu müssen als sonst).
    3. Sofern du dich gut darin eingearbeitet hast ist viel einfacher. Das einzig schwierige dabei ist halt, dass man davor zuerst mal XAML lernen muss. Wenn mans dann aber kann will man gar nicht mehr zurück.
    1. Wenn du schon ein großes Projekt angefangen hast, nur bedingt. Für dieses einzige Feature würde ich sagen: Höchstwahrscheinlich nicht, zumal du keine Erfahrung in WPF zu haben scheinst. Das verkompliziert den Aufwand und die Arbeitszeit um ein Vielfaches.
    2. Ja
    3. Nach Einarbeitung ist es bequemer als WinForms: Man gewöhnt sich die Trennung von Daten und GUI per MVVM an und per XAML sind dynamische Layouts sehr gut zu realisieren.
    „Was daraus gefolgert werden kann ist, dass jeder intelligentere User sein Geld lieber für Bier ausgibt, um einen schönen Rausch zu haben, und nicht dieses Ranzprodukt.“

    -Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung.
    Dann werde ich mich mal mit WPF vertraut machen, da ich letztens auch etwas am GUI versucht habe und das dann leider vollkommen schief gegangen ist und nach euren Schilderungen dürfte das dann mit WPF möglich sein.

    Nachdem ich dann mit WPF richtig umgehen kann, werde ich mein TweakUtils wahrscheinlich in WPF nochmal machen.

    Eine Frage jedoch noch: Nutzt man in WPF für den Glass-Effekt auch die APIs aus der dwmapi.dll ?
    Ich denke schon, wüsste nicht wies sonst gehen sollte.
    Obwohl es mal interessant wäre, auszuprobieren, ob man das nicht auch nur durch semitransparente Fenster und Blur-Effekte hinbekommen könnte (ja, solche Sachen kann man in WPF mit einer Zeile Code lösen).
    Nein. WPF ist ja nur die Technologie für die Darstellung, die Programmlogik wird dadurch nicht vorgeschrieben.
    Es ist allerdings gut möglich, dass du die Verbindung zwischen Dargestelltem und Darzustellendem ändern musst. In WPF wird da nämlich das MVVM-Patern verwendet, also du schaltest zwischen deine Daten und deine Oberfläche nochmal eine Zwischenschicht, auf die du nur per Bindings zugreifst.

    Jonas Jelonek schrieb:

    Mit den semitransparenten Fenster und Blur-Effekten, würde das in WinForms überhaupt gehen?

    Ich frage mich gerade, wie dein Downloadmanager aussieht ^^ Kannst du mal einen Screenshot machen?

    Skybird schrieb:

    Das sind ja Ubisoftmethoden hier !

    Es lohnt sich nicht, von meinem Download-Manager ein Screenshot zu machen, da dort drin bisher nur ein TabControl mit einem Tab ist. Deswegen habe ich ja hier gefragt wegen dem List-Control, weil ich erst die Hauptfunktion machen wollte und dann die ganzen Extras.
    nochma zu wpf:

    Jonas Jelonek schrieb:

    Eine Frage zuletzt noch: Dass ich meine eigenen Controls zu WPF umschreiben muss
    Ähm - "Umschreiben" schlag dir besser aus Kopf.
    Wpf ist so vollkommen anders als Winforms - von deinen bisherigen Controls kannst du vmtl. nichts mit rüber-nehmen ausser vlt. die Idee - vlt. nicht mal die.

    Und Wpf ist nicht leicht, sondern setzt ein gutes Verständnis von OOP rauf und runter vorraus. Interfaces, Shared Class-Members, Inherits, den Singleton-Pattern und vor allem den MVVM-Pattern - sowas musste aussm Ärmel schütteln können.
    @ErfinderDesRades
    Aber wenn mans genau nimmt setzt WinForms das auch voraus. Da gibts nur das Problem, dass mans eben auch falsch machen kann unds trotzdem irgendwie funktioniert, aber schöne Programmierung kann man das nicht nennen. WPF zwingt einen da halt direkt besseren Stil anzuwenden, was ich aber nicht schlimm finde, eher im Gegenteil.
    Und wenn man das ganze Zeugs beherrscht, dann ist WPF natürlich auch leichter. Ich stehe gerade noch ganz am Anfang meiner "WPF-Kariere", aber ich habe damit jetzt schon Sachen gemacht, die ich in WinForms nicht hinbekommen hätte (siehe CharmBar7).