Projekt in Winui 3 übertragen

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von kwon.

    Projekt in Winui 3 übertragen

    Hallo,

    ich bin dabei eine Windows Forms App zu schreiben, die ich auch wahrscheinlich veröffentlichen möchte.

    Ich habe vor kurzem erst den Begriff WinUI 3 entdeckt, da ich nach Möglichkeiten gesucht habe, wie man die Windows Forms App etwas zeitgemäßer (auch hübscher) gestalten kann.

    Es wäre toll, wenn jemand mir den groben Weg erklären könnte, wie man eine Windows Forms App in Visual Studio in eine WinUI 3 App übertragen kann.

    Ich meine, was ich alles dafür brauche und was ich tun muss...

    Das würde mir sehr viel weiterhelfen und sehr viele nicht zielführende Wege ersparen.

    Vielen Dank!
    Soweit ich sehen konnte, ist WinUI (3) nur für C# und C++ Projekte vorerst vorgesehen.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
    Hi

    Es ist durchaus möglich auch in WinForms XAML Controls einzusetzen. Das ganze läuft dann über die "XAML Islands". Dazu findest Du so einiges an Informationen im Internet. z.B. hier: learn.microsoft.com/en-us/wind…op/modernize/xaml-islands oder auch hier: microsoft.github.io/microsoft-ui-xaml/about.html und weitere Funde. Ich sehe da erstmal nichts warum das nur mit C# oder C++ funktionieren sollte. Im Grunde sind die XAML Controls auch nur ein Sammlung von WinRT COM-Interfaces.

    Pssssst, nicht weiter sagen: Ich hab die XAML Islands zum testen sogar unter VB6 zum laufen gebracht. COM macht es halt möglich. ;) Von daher funktioniert es auch mit VB.NET.

    Edit: Ich hab auf die schnelle ein Beispiel zusammen gebaut wie man die XAML Islands, z.B. in VB.NET, aktiviert und ein XAML Control, hier ein MediaPlayerElement zum abspielen von Audio- und Videodateien, per XAML-String erstellt. Dazu muss das Manifest etwas angepasst und ein paar einfache WinRT COM-Interfaces verwendet werden. Ok, hier gibt es keine Events und entsprechende Properties/Subs/Funktionen des MediaPlayerElement können nicht verändert/ausgelesen/angesprochen werden. Also können schon, wenn man ein paar weitere COM-Interfaces dazu nimmt. Das alles ist aber im entsprechenden CommunityToolKit vorhanden bzw. sprichst Du hier alle XAML Controls direkt über deren COM-Interfaces (Namespaces/Klassen) an. Der Anfang, also InitializeForCurrentThread und AttachToWindow sind auch im entsprechenden CommunityToolKit der Einstieg zur WinUI.
    Dateien
    • XamlIslands.zip

      (19,19 kB, 53 mal heruntergeladen, zuletzt: )
    Mfg -Franky-

    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „-Franky-“ ()

    Hallo VaporiZed,
    Hallo -Franky-,

    vielen Dank für die Links und das Beispiel!

    Vielen, vielen Dank für die Mühe!

    Leider komme ich aus beruflichen Gründen wahrscheinlich nicht vor dem nächsten Wochenende dazu mich mit dem Thema tiefer auseinandersetzen.
    Manchmal kommt etwas dazwischen...

    Aber ich werde die Datei schon herunterladen.

    Nochmals ein herzliches Dankeschön...